From f9995f31e58bcdfc9eb528128c6bfcbb0b8fc777 Mon Sep 17 00:00:00 2001 From: Marius Gavrilescu Date: Thu, 31 Dec 2015 21:02:31 +0200 Subject: [PATCH] Initial commit --- Brotli.xs | 79 + Changes | 4 + MANIFEST | 88 + Makefile.PL | 23 + README | 58 + dec/Makefile | 12 + dec/bit_reader.c | 48 + dec/bit_reader.h | 385 + dec/context.h | 251 + dec/decode.c | 2338 +++++ dec/decode.h | 166 + dec/dictionary.c | 9466 +++++++++++++++++ dec/dictionary.h | 39 + dec/huffman.c | 358 + dec/huffman.h | 68 + dec/port.h | 240 + dec/prefix.h | 747 ++ dec/state.c | 186 + dec/state.h | 256 + dec/streams.c | 102 + dec/streams.h | 95 + dec/transform.h | 306 + dec/types.h | 38 + lib/IO/Compress/Brotli.pm | 39 + lib/IO/Uncompress/Brotli.pm | 127 + ppport.h | 7452 ++++++++++++++ t/IO-Compress-Brotli.t | 18 + t/IO-Uncompress-Brotli.t | 28 + t/testdata/10x10y | 1 + t/testdata/10x10y.compressed | Bin 0 -> 12 bytes t/testdata/64x | 1 + t/testdata/64x.compressed | Bin 0 -> 10 bytes t/testdata/alice29.txt | 3609 +++++++ t/testdata/alice29.txt.compressed | Bin 0 -> 50096 bytes t/testdata/asyoulik.txt | 4122 ++++++++ t/testdata/asyoulik.txt.compressed | Bin 0 -> 45687 bytes t/testdata/backward65536 | Bin 0 -> 65792 bytes t/testdata/backward65536.compressed | Bin 0 -> 19 bytes t/testdata/compressed_file | Bin 0 -> 50096 bytes t/testdata/compressed_file.compressed | Bin 0 -> 50100 bytes t/testdata/compressed_repeated | Bin 0 -> 144224 bytes t/testdata/compressed_repeated.compressed | Bin 0 -> 50299 bytes t/testdata/empty | 0 t/testdata/empty.compressed | 1 + t/testdata/empty.compressed.00 | 1 + t/testdata/empty.compressed.01 | 1 + t/testdata/empty.compressed.02 | 1 + t/testdata/empty.compressed.03 | 1 + t/testdata/empty.compressed.04 | 1 + t/testdata/empty.compressed.05 | 1 + t/testdata/empty.compressed.06 | 1 + t/testdata/empty.compressed.07 | 1 + t/testdata/empty.compressed.08 | 1 + t/testdata/empty.compressed.09 | 1 + t/testdata/empty.compressed.10 | 1 + t/testdata/empty.compressed.11 | 1 + t/testdata/empty.compressed.12 | 1 + t/testdata/empty.compressed.13 | 1 + t/testdata/empty.compressed.14 | 1 + t/testdata/empty.compressed.15 | 1 + t/testdata/empty.compressed.16 | Bin 0 -> 4 bytes t/testdata/empty.compressed.17 | 1 + t/testdata/empty.compressed.18 | Bin 0 -> 196610 bytes t/testdata/lcet10.txt | 7519 ++++++++++++++ t/testdata/lcet10.txt.compressed | Bin 0 -> 124719 bytes t/testdata/mapsdatazrh | Bin 0 -> 285886 bytes t/testdata/mapsdatazrh.compressed | Bin 0 -> 161743 bytes t/testdata/monkey | 1 + t/testdata/monkey.compressed | Bin 0 -> 425 bytes t/testdata/plrabn12.txt | 10699 ++++++++++++++++++++ t/testdata/plrabn12.txt.compressed | Bin 0 -> 174771 bytes t/testdata/quickfox | 1 + t/testdata/quickfox.compressed | 1 + t/testdata/quickfox_repeated | 1 + t/testdata/quickfox_repeated.compressed | 2 + t/testdata/random_org_10k.bin | Bin 0 -> 10000 bytes t/testdata/random_org_10k.bin.compressed | Bin 0 -> 10004 bytes t/testdata/ukkonooa | 1 + t/testdata/ukkonooa.compressed | Bin 0 -> 69 bytes t/testdata/x | 1 + t/testdata/x.compressed | Bin 0 -> 5 bytes t/testdata/x.compressed.00 | Bin 0 -> 5 bytes t/testdata/x.compressed.01 | Bin 0 -> 8 bytes t/testdata/x.compressed.02 | Bin 0 -> 5 bytes t/testdata/x.compressed.03 | Bin 0 -> 10 bytes t/testdata/xyzzy | 1 + t/testdata/xyzzy.compressed | 1 + t/testdata/zeros | Bin 0 -> 262144 bytes t/testdata/zeros.compressed | Bin 0 -> 13 bytes 89 files changed, 48996 insertions(+) create mode 100644 Brotli.xs create mode 100644 Changes create mode 100644 MANIFEST create mode 100644 Makefile.PL create mode 100644 README create mode 100644 dec/Makefile create mode 100644 dec/bit_reader.c create mode 100644 dec/bit_reader.h create mode 100644 dec/context.h create mode 100644 dec/decode.c create mode 100644 dec/decode.h create mode 100644 dec/dictionary.c create mode 100644 dec/dictionary.h create mode 100644 dec/huffman.c create mode 100644 dec/huffman.h create mode 100644 dec/port.h create mode 100644 dec/prefix.h create mode 100644 dec/state.c create mode 100644 dec/state.h create mode 100644 dec/streams.c create mode 100644 dec/streams.h create mode 100644 dec/transform.h create mode 100644 dec/types.h create mode 100644 lib/IO/Compress/Brotli.pm create mode 100644 lib/IO/Uncompress/Brotli.pm create mode 100644 ppport.h create mode 100644 t/IO-Compress-Brotli.t create mode 100644 t/IO-Uncompress-Brotli.t create mode 100644 t/testdata/10x10y create mode 100644 t/testdata/10x10y.compressed create mode 100644 t/testdata/64x create mode 100644 t/testdata/64x.compressed create mode 100644 t/testdata/alice29.txt create mode 100644 t/testdata/alice29.txt.compressed create mode 100644 t/testdata/asyoulik.txt create mode 100644 t/testdata/asyoulik.txt.compressed create mode 100644 t/testdata/backward65536 create mode 100644 t/testdata/backward65536.compressed create mode 100644 t/testdata/compressed_file create mode 100644 t/testdata/compressed_file.compressed create mode 100644 t/testdata/compressed_repeated create mode 100644 t/testdata/compressed_repeated.compressed create mode 100644 t/testdata/empty create mode 100644 t/testdata/empty.compressed create mode 100644 t/testdata/empty.compressed.00 create mode 100644 t/testdata/empty.compressed.01 create mode 100644 t/testdata/empty.compressed.02 create mode 100644 t/testdata/empty.compressed.03 create mode 100644 t/testdata/empty.compressed.04 create mode 100644 t/testdata/empty.compressed.05 create mode 100644 t/testdata/empty.compressed.06 create mode 100644 t/testdata/empty.compressed.07 create mode 100644 t/testdata/empty.compressed.08 create mode 100644 t/testdata/empty.compressed.09 create mode 100644 t/testdata/empty.compressed.10 create mode 100644 t/testdata/empty.compressed.11 create mode 100644 t/testdata/empty.compressed.12 create mode 100644 t/testdata/empty.compressed.13 create mode 100644 t/testdata/empty.compressed.14 create mode 100644 t/testdata/empty.compressed.15 create mode 100644 t/testdata/empty.compressed.16 create mode 100644 t/testdata/empty.compressed.17 create mode 100644 t/testdata/empty.compressed.18 create mode 100644 t/testdata/lcet10.txt create mode 100644 t/testdata/lcet10.txt.compressed create mode 100644 t/testdata/mapsdatazrh create mode 100644 t/testdata/mapsdatazrh.compressed create mode 100644 t/testdata/monkey create mode 100644 t/testdata/monkey.compressed create mode 100644 t/testdata/plrabn12.txt create mode 100644 t/testdata/plrabn12.txt.compressed create mode 100644 t/testdata/quickfox create mode 100644 t/testdata/quickfox.compressed create mode 100644 t/testdata/quickfox_repeated create mode 100644 t/testdata/quickfox_repeated.compressed create mode 100644 t/testdata/random_org_10k.bin create mode 100644 t/testdata/random_org_10k.bin.compressed create mode 100644 t/testdata/ukkonooa create mode 100644 t/testdata/ukkonooa.compressed create mode 100644 t/testdata/x create mode 100644 t/testdata/x.compressed create mode 100644 t/testdata/x.compressed.00 create mode 100644 t/testdata/x.compressed.01 create mode 100644 t/testdata/x.compressed.02 create mode 100644 t/testdata/x.compressed.03 create mode 100644 t/testdata/xyzzy create mode 100644 t/testdata/xyzzy.compressed create mode 100644 t/testdata/zeros create mode 100644 t/testdata/zeros.compressed diff --git a/Brotli.xs b/Brotli.xs new file mode 100644 index 0000000..60b6428 --- /dev/null +++ b/Brotli.xs @@ -0,0 +1,79 @@ +#define PERL_NO_GET_CONTEXT +#include "EXTERN.h" +#include "perl.h" +#include "XSUB.h" + +#include "ppport.h" + +#include + +#define BUFFER_SIZE 1048576 +static uint8_t buffer[BUFFER_SIZE]; /* It's almost 2016, is anyone still using ithreads? */ + +MODULE = IO::Compress::Brotli PACKAGE = IO::Uncompress::Brotli +PROTOTYPES: ENABLE + +SV* unbro(buffer) + SV* buffer + PREINIT: + size_t decoded_size; + STRLEN encoded_size; + uint8_t *encoded_buffer, *decoded_buffer; + CODE: + encoded_buffer = (uint8_t*) SvPV(buffer, encoded_size); + if(!BrotliDecompressedSize(encoded_size, encoded_buffer, &decoded_size)){ + croak("Error in BrotliDecompressedSize"); + } + Newx(decoded_buffer, decoded_size+1, uint8_t); + decoded_buffer[decoded_size]=0; + if(!BrotliDecompressBuffer(encoded_size, encoded_buffer, &decoded_size, decoded_buffer)){ + croak("Error in BrotliDecompressBuffer"); + } + RETVAL = newSV(0); + sv_usepvn_flags(RETVAL, decoded_buffer, decoded_size, SV_HAS_TRAILING_NUL); + OUTPUT: + RETVAL + +SV* BrotliCreateState() + CODE: + RETVAL = newSViv((IV)BrotliCreateState(NULL, NULL, NULL)); + OUTPUT: + RETVAL + +void BrotliDestroyState(state) + SV* state + CODE: + BrotliDestroyState((BrotliState*)SvIV(state)); + +SV* BrotliDecompressStream(state, in) + SV* state + SV* in + PREINIT: + uint8_t *next_in, *next_out; + size_t available_in, available_out, total_out; + BrotliResult result; + CODE: + next_in = (uint8_t*) SvPV(in, available_in); + RETVAL = newSVpv("", 0); + result = BROTLI_RESULT_NEEDS_MORE_OUTPUT; + while(result == BROTLI_RESULT_NEEDS_MORE_OUTPUT) { + next_out = buffer; + available_out=BUFFER_SIZE; + result = BrotliDecompressStream(&available_in, (const uint8_t**) &next_in, &available_out, &next_out, &total_out, (BrotliState*) SvIV(state)); + if(!result){ + croak("Error in BrotliDecompressStream"); + } + sv_catpvn(RETVAL, (const char*)buffer, BUFFER_SIZE-available_out); + } + OUTPUT: + RETVAL + +void BrotliSetCustomDictionary(state, dict) + SV* state + SV* dict + PREINIT: + size_t size; + uint8_t *data; + CODE: + data = SvPV(dict, size); + BrotliSetCustomDictionary(size, data, (BrotliState*) SvIV(state)); diff --git a/Changes b/Changes new file mode 100644 index 0000000..eb865cd --- /dev/null +++ b/Changes @@ -0,0 +1,4 @@ +Revision history for Perl extension IO::Compress::Brotli. + +0.001 2015-12-31T21:02+02:00 + - Initial release diff --git a/MANIFEST b/MANIFEST new file mode 100644 index 0000000..d680296 --- /dev/null +++ b/MANIFEST @@ -0,0 +1,88 @@ +Brotli.xs +Changes +dec/bit_reader.c +dec/bit_reader.h +dec/context.h +dec/decode.c +dec/decode.h +dec/dictionary.c +dec/dictionary.h +dec/huffman.c +dec/huffman.h +dec/port.h +dec/prefix.h +dec/state.c +dec/state.h +dec/streams.c +dec/streams.h +dec/transform.h +dec/types.h +lib/IO/Compress/Brotli.pm +lib/IO/Uncompress/Brotli.pm +Makefile.PL +MANIFEST +ppport.h +README +t/IO-Compress-Brotli.t +t/IO-Uncompress-Brotli.t +t/testdata/10x10y +t/testdata/10x10y.compressed +t/testdata/64x +t/testdata/64x.compressed +t/testdata/alice29.txt +t/testdata/alice29.txt.compressed +t/testdata/asyoulik.txt +t/testdata/asyoulik.txt.compressed +t/testdata/backward65536 +t/testdata/backward65536.compressed +t/testdata/compressed_file +t/testdata/compressed_file.compressed +t/testdata/compressed_repeated +t/testdata/compressed_repeated.compressed +t/testdata/empty +t/testdata/empty.compressed +t/testdata/empty.compressed.00 +t/testdata/empty.compressed.01 +t/testdata/empty.compressed.02 +t/testdata/empty.compressed.03 +t/testdata/empty.compressed.04 +t/testdata/empty.compressed.05 +t/testdata/empty.compressed.06 +t/testdata/empty.compressed.07 +t/testdata/empty.compressed.08 +t/testdata/empty.compressed.09 +t/testdata/empty.compressed.10 +t/testdata/empty.compressed.11 +t/testdata/empty.compressed.12 +t/testdata/empty.compressed.13 +t/testdata/empty.compressed.14 +t/testdata/empty.compressed.15 +t/testdata/empty.compressed.16 +t/testdata/empty.compressed.17 +t/testdata/empty.compressed.18 +t/testdata/lcet10.txt +t/testdata/lcet10.txt.compressed +t/testdata/mapsdatazrh +t/testdata/mapsdatazrh.compressed +t/testdata/monkey +t/testdata/monkey.compressed +t/testdata/plrabn12.txt +t/testdata/plrabn12.txt.compressed +t/testdata/quickfox +t/testdata/quickfox.compressed +t/testdata/quickfox_repeated +t/testdata/quickfox_repeated.compressed +t/testdata/random_org_10k.bin +t/testdata/random_org_10k.bin.compressed +t/testdata/ukkonooa +t/testdata/ukkonooa.compressed +t/testdata/x +t/testdata/x.compressed +t/testdata/x.compressed.00 +t/testdata/x.compressed.01 +t/testdata/x.compressed.02 +t/testdata/x.compressed.03 +t/testdata/xyzzy +t/testdata/xyzzy.compressed +t/testdata/zeros +t/testdata/zeros.compressed diff --git a/Makefile.PL b/Makefile.PL new file mode 100644 index 0000000..cb7d632 --- /dev/null +++ b/Makefile.PL @@ -0,0 +1,23 @@ +use 5.014000; +use ExtUtils::MakeMaker; + +WriteMakefile( + NAME => 'IO::Compress::Brotli', + VERSION_FROM => 'lib/IO/Compress/Brotli.pm', + ABSTRACT => 'Read Brotli buffers/streams', + AUTHOR => 'Marius Gavrilescu ', + MIN_PERL_VERSION => '5.14.0', + LICENSE => 'perl', + SIGN => 1, + PREREQ_PM => {}, + INC => '-I.', + OBJECT => 'Brotli.o bit_reader.o decode.o dictionary.o huffman.o state.o streams.o', + C => [], + depend => {'$(INST_DYNAMIC)' => '$(O_FILES)'}, + META_ADD => { + dynamic_config => 0, + resources => { + repository => 'https://git.ieval.ro/?p=io-compress-brotli.git', + }, + } +); diff --git a/README b/README new file mode 100644 index 0000000..35112f3 --- /dev/null +++ b/README @@ -0,0 +1,58 @@ +IO-Compress-Brotli version 0.001 +================================ + +Brotli is a data compression format primarily used in web fonts and +(more recently) HTTP compression. + +This distribution wraps the official Brotli source code[0], offering a +module for decompressing Brotli buffers and streams, +IO::Uncompress::Brotli. Compression will be supported in a future +release. + +[0]: https://github.com/google/brotli + +INSTALLATION + +To install this module type the following: + + perl Makefile.PL + make + make test + make install + +DEPENDENCIES + +This module does not require non-core modules, but it does require a C +compiler. + +COPYRIGHT AND LICENCE + +Copyright (C) 2015 by Marius Gavrilescu + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself, either Perl version 5.20.2 or, +at your option, any later version of Perl 5 you may have available. + + +The distribution contains files from the Brotli source code, which are +licensed under the Expat license: + +Copyright (c) 2009, 2010, 2013-2015 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/dec/Makefile b/dec/Makefile new file mode 100644 index 0000000..fa2fc3d --- /dev/null +++ b/dec/Makefile @@ -0,0 +1,12 @@ +#brotli/dec + +include ../shared.mk + +CFLAGS += -Wall + +OBJS = bit_reader.o decode.o dictionary.o huffman.o state.o streams.o + +all : $(OBJS) + +clean : + rm -f $(OBJS) diff --git a/dec/bit_reader.c b/dec/bit_reader.c new file mode 100644 index 0000000..fc814d0 --- /dev/null +++ b/dec/bit_reader.c @@ -0,0 +1,48 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Bit reading helpers */ + +#include + +#include "./bit_reader.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +void BrotliInitBitReader(BrotliBitReader* const br) { + br->val_ = 0; + br->bit_pos_ = sizeof(br->val_) << 3; +} + +int BrotliWarmupBitReader(BrotliBitReader* const br) { + size_t aligned_read_mask = (sizeof(br->val_) >> 1) - 1; + /* Fixing alignment after unaligned BrotliFillWindow would result accumulator + overflow. If unalignment is caused by BrotliSafeReadBits, then there is + enough space in accumulator to fix aligment. */ + if (!BROTLI_ALIGNED_READ) { + aligned_read_mask = 0; + } + if (BrotliGetAvailableBits(br) == 0) { + if (!BrotliPullByte(br)) { + return 0; + } + } + + while ((((size_t)br->next_in) & aligned_read_mask) != 0) { + if (!BrotliPullByte(br)) { + /* If we consumed all the input, we don't care about the alignment. */ + return 1; + } + } + return 1; +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/dec/bit_reader.h b/dec/bit_reader.h new file mode 100644 index 0000000..0301a48 --- /dev/null +++ b/dec/bit_reader.h @@ -0,0 +1,385 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Bit reading helpers */ + +#ifndef BROTLI_DEC_BIT_READER_H_ +#define BROTLI_DEC_BIT_READER_H_ + +#include +#include +#include "./port.h" +#include "./types.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#if (BROTLI_64_BITS) +#define BROTLI_SHORT_FILL_BIT_WINDOW_READ 4 +typedef uint64_t reg_t; +#else +#define BROTLI_SHORT_FILL_BIT_WINDOW_READ 2 +typedef uint32_t reg_t; +#endif + +static const uint32_t kBitMask[33] = { 0x0000, + 0x00000001, 0x00000003, 0x00000007, 0x0000000F, + 0x0000001F, 0x0000003F, 0x0000007F, 0x000000FF, + 0x000001FF, 0x000003FF, 0x000007FF, 0x00000FFF, + 0x00001FFF, 0x00003FFF, 0x00007FFF, 0x0000FFFF, + 0x0001FFFF, 0x0003FFFF, 0x0007FFFF, 0x000FFFFF, + 0x001FFFFF, 0x003FFFFF, 0x007FFFFF, 0x00FFFFFF, + 0x01FFFFFF, 0x03FFFFFF, 0x07FFFFFF, 0x0FFFFFFF, + 0x1FFFFFFF, 0x3FFFFFFF, 0x7FFFFFFF, 0xFFFFFFFF +}; + +static BROTLI_INLINE uint32_t BitMask(uint32_t n) { + if (IS_CONSTANT(n) || BROTLI_HAS_UBFX) { + /* Masking with this expression turns to a single + "Unsigned Bit Field Extract" UBFX instruction on ARM. */ + return ~((0xffffffffU) << n); + } else { + return kBitMask[n]; + } +} + +typedef struct { + reg_t val_; /* pre-fetched bits */ + uint32_t bit_pos_; /* current bit-reading position in val_ */ + const uint8_t* next_in; /* the byte we're reading from */ + size_t avail_in; +} BrotliBitReader; + +typedef struct { + reg_t val_; + uint32_t bit_pos_; + const uint8_t* next_in; + size_t avail_in; +} BrotliBitReaderState; + +/* Initializes the bitreader fields. */ +void BrotliInitBitReader(BrotliBitReader* const br); + +/* Ensures that accumulator is not empty. May consume one byte of input. + Returns 0 if data is required but there is no input available. + For BROTLI_BUILD_PORTABLE this function also prepares bit reader for aligned + reading. */ +int BrotliWarmupBitReader(BrotliBitReader* const br); + +static BROTLI_INLINE void BrotliBitReaderSaveState( + BrotliBitReader* const from, BrotliBitReaderState* to) { + to->val_ = from->val_; + to->bit_pos_ = from->bit_pos_; + to->next_in = from->next_in; + to->avail_in = from->avail_in; +} + +static BROTLI_INLINE void BrotliBitReaderRestoreState( + BrotliBitReader* const to, BrotliBitReaderState* from) { + to->val_ = from->val_; + to->bit_pos_ = from->bit_pos_; + to->next_in = from->next_in; + to->avail_in = from->avail_in; +} + +static BROTLI_INLINE uint32_t BrotliGetAvailableBits( + const BrotliBitReader* br) { + return (BROTLI_64_BITS ? 64 : 32) - br->bit_pos_; +} + +/* Returns amount of unread bytes the bit reader still has buffered from the + BrotliInput, including whole bytes in br->val_. */ +static BROTLI_INLINE size_t BrotliGetRemainingBytes(BrotliBitReader* br) { + return br->avail_in + (BrotliGetAvailableBits(br) >> 3); +} + +/* Checks if there is at least num bytes left in the input ringbuffer (excluding + the bits remaining in br->val_). */ +static BROTLI_INLINE int BrotliCheckInputAmount( + BrotliBitReader* const br, size_t num) { + return br->avail_in >= num; +} + +static BROTLI_INLINE uint16_t BrotliLoad16LE(const uint8_t* in) { + if (BROTLI_LITTLE_ENDIAN) { + return *((const uint16_t*)in); + } else if (BROTLI_BIG_ENDIAN) { + uint16_t value = *((const uint16_t*)in); + return (uint16_t)( + ((value & 0xFFU) << 8) | + ((value & 0xFF00U) >> 8)); + } else { + return (uint16_t)(in[0] | (in[1] << 8)); + } +} + +static BROTLI_INLINE uint32_t BrotliLoad32LE(const uint8_t* in) { + if (BROTLI_LITTLE_ENDIAN) { + return *((const uint32_t*)in); + } else if (BROTLI_BIG_ENDIAN) { + uint32_t value = *((const uint32_t*)in); + return ((value & 0xFFU) << 24) | ((value & 0xFF00U) << 8) | + ((value & 0xFF0000U) >> 8) | ((value & 0xFF000000U) >> 24); + } else { + uint32_t value = (uint32_t)(*(in++)); + value |= (uint32_t)(*(in++)) << 8; + value |= (uint32_t)(*(in++)) << 16; + value |= (uint32_t)(*(in++)) << 24; + return value; + } +} + +#if (BROTLI_64_BITS) +static BROTLI_INLINE uint64_t BrotliLoad64LE(const uint8_t* in) { + if (BROTLI_LITTLE_ENDIAN) { + return *((const uint64_t*)in); + } else if (BROTLI_BIG_ENDIAN) { + uint64_t value = *((const uint64_t*)in); + return + ((value & 0xFFU) << 56) | + ((value & 0xFF00U) << 40) | + ((value & 0xFF0000U) << 24) | + ((value & 0xFF000000U) << 8) | + ((value & 0xFF00000000U) >> 8) | + ((value & 0xFF0000000000U) >> 24) | + ((value & 0xFF000000000000U) >> 40) | + ((value & 0xFF00000000000000U) >> 56); + } else { + uint64_t value = (uint64_t)(*(in++)); + value |= (uint64_t)(*(in++)) << 8; + value |= (uint64_t)(*(in++)) << 16; + value |= (uint64_t)(*(in++)) << 24; + value |= (uint64_t)(*(in++)) << 32; + value |= (uint64_t)(*(in++)) << 40; + value |= (uint64_t)(*(in++)) << 48; + value |= (uint64_t)(*(in++)) << 56; + return value; + } +} +#endif + +/* Guarantees that there are at least n_bits + 1 bits in accumulator. + Precondition: accumulator contains at least 1 bit. + n_bits should be in the range [1..24] for regular build. For portable + non-64-bit little endian build only 16 bits are safe to request. */ +static BROTLI_INLINE void BrotliFillBitWindow( + BrotliBitReader* const br, uint32_t n_bits) { +#if (BROTLI_64_BITS) + if (!BROTLI_ALIGNED_READ && IS_CONSTANT(n_bits) && (n_bits <= 8)) { + if (br->bit_pos_ >= 56) { + br->val_ >>= 56; + br->bit_pos_ ^= 56; /* here same as -= 56 because of the if condition */ + br->val_ |= BrotliLoad64LE(br->next_in) << 8; + br->avail_in -= 7; + br->next_in += 7; + } + } else if (!BROTLI_ALIGNED_READ && IS_CONSTANT(n_bits) && (n_bits <= 16)) { + if (br->bit_pos_ >= 48) { + br->val_ >>= 48; + br->bit_pos_ ^= 48; /* here same as -= 48 because of the if condition */ + br->val_ |= BrotliLoad64LE(br->next_in) << 16; + br->avail_in -= 6; + br->next_in += 6; + } + } else { + if (br->bit_pos_ >= 32) { + br->val_ >>= 32; + br->bit_pos_ ^= 32; /* here same as -= 32 because of the if condition */ + br->val_ |= ((uint64_t)BrotliLoad32LE(br->next_in)) << 32; + br->avail_in -= BROTLI_SHORT_FILL_BIT_WINDOW_READ; + br->next_in += BROTLI_SHORT_FILL_BIT_WINDOW_READ; + } + } +#else + if (!BROTLI_ALIGNED_READ && IS_CONSTANT(n_bits) && (n_bits <= 8)) { + if (br->bit_pos_ >= 24) { + br->val_ >>= 24; + br->bit_pos_ ^= 24; /* here same as -= 24 because of the if condition */ + br->val_ |= BrotliLoad32LE(br->next_in) << 8; + br->avail_in -= 3; + br->next_in += 3; + } + } else { + if (br->bit_pos_ >= 16) { + br->val_ >>= 16; + br->bit_pos_ ^= 16; /* here same as -= 16 because of the if condition */ + br->val_ |= ((uint32_t)BrotliLoad16LE(br->next_in)) << 16; + br->avail_in -= BROTLI_SHORT_FILL_BIT_WINDOW_READ; + br->next_in += BROTLI_SHORT_FILL_BIT_WINDOW_READ; + } + } +#endif +} + +/* Mosltly like BrotliFillBitWindow, but guarantees only 16 bits and reads no + more than BROTLI_SHORT_FILL_BIT_WINDOW_READ bytes of input. */ +static BROTLI_INLINE void BrotliFillBitWindow16(BrotliBitReader* const br) { + BrotliFillBitWindow(br, 17); +} + +/* Pulls one byte of input to accumulator. */ +static BROTLI_INLINE int BrotliPullByte(BrotliBitReader* const br) { + if (br->avail_in == 0) { + return 0; + } + br->val_ >>= 8; +#if (BROTLI_64_BITS) + br->val_ |= ((uint64_t)*br->next_in) << 56; +#else + br->val_ |= ((uint32_t)*br->next_in) << 24; +#endif + br->bit_pos_ -= 8; + --br->avail_in; + ++br->next_in; + return 1; +} + +/* Returns currently available bits. + The number of valid bits could be calclulated by BrotliGetAvailableBits. */ +static BROTLI_INLINE reg_t BrotliGetBitsUnmasked(BrotliBitReader* const br) { + return br->val_ >> br->bit_pos_; +} + +/* Like BrotliGetBits, but does not mask the result. + The result contains at least 16 valid bits. */ +static BROTLI_INLINE uint32_t BrotliGet16BitsUnmasked( + BrotliBitReader* const br) { + BrotliFillBitWindow(br, 16); + return (uint32_t)BrotliGetBitsUnmasked(br); +} + +/* Returns the specified number of bits from br without advancing bit pos. */ +static BROTLI_INLINE uint32_t BrotliGetBits( + BrotliBitReader* const br, uint32_t n_bits) { + BrotliFillBitWindow(br, n_bits); + return (uint32_t)BrotliGetBitsUnmasked(br) & BitMask(n_bits); +} + +/* Tries to peek the specified amount of bits. Returns 0, if there is not + enough input. */ +static BROTLI_INLINE int BrotliSafeGetBits( + BrotliBitReader* const br, uint32_t n_bits, uint32_t* val) { + while (BrotliGetAvailableBits(br) < n_bits) { + if (!BrotliPullByte(br)) { + return 0; + } + } + *val = (uint32_t)BrotliGetBitsUnmasked(br) & BitMask(n_bits); + return 1; +} + +/* Advances the bit pos by n_bits. */ +static BROTLI_INLINE void BrotliDropBits( + BrotliBitReader* const br, uint32_t n_bits) { + br->bit_pos_ += n_bits; +} + +static BROTLI_INLINE void BrotliBitReaderUnload(BrotliBitReader* br) { + uint32_t unused_bytes = BrotliGetAvailableBits(br) >> 3; + uint32_t unused_bits = unused_bytes << 3; + br->avail_in += unused_bytes; + br->next_in -= unused_bytes; + br->val_ <<= unused_bits; + br->bit_pos_ += unused_bits; +} + +/* Reads the specified number of bits from br and advances the bit pos. + Precondition: accumulator MUST contain at least n_bits. */ +static BROTLI_INLINE void BrotliTakeBits( + BrotliBitReader* const br, uint32_t n_bits, uint32_t* val) { + *val = (uint32_t)BrotliGetBitsUnmasked(br) & BitMask(n_bits); +#ifdef BROTLI_DECODE_DEBUG + printf("[BrotliReadBits] %d %d %d val: %6x\n", + (int)br->avail_in, (int)br->bit_pos_, n_bits, (int)*val); +#endif + BrotliDropBits(br, n_bits); +} + +/* Reads the specified number of bits from br and advances the bit pos. + Assumes that there is enough input to perform BrotliFillBitWindow. */ +static BROTLI_INLINE uint32_t BrotliReadBits( + BrotliBitReader* const br, uint32_t n_bits) { + if (BROTLI_64_BITS || (n_bits <= 16)) { + uint32_t val; + BrotliFillBitWindow(br, n_bits); + BrotliTakeBits(br, n_bits, &val); + return val; + } else { + uint32_t low_val; + uint32_t high_val; + BrotliFillBitWindow(br, 16); + BrotliTakeBits(br, 16, &low_val); + BrotliFillBitWindow(br, 8); + BrotliTakeBits(br, n_bits - 16, &high_val); + return low_val | (high_val << 16); + } +} + +/* Tries to read the specified amount of bits. Returns 0, if there is not + enough input. n_bits MUST be positive. */ +static BROTLI_INLINE int BrotliSafeReadBits( + BrotliBitReader* const br, uint32_t n_bits, uint32_t* val) { + while (BrotliGetAvailableBits(br) < n_bits) { + if (!BrotliPullByte(br)) { + return 0; + } + } + BrotliTakeBits(br, n_bits, val); + return 1; +} + +/* Advances the bit reader position to the next byte boundary and verifies + that any skipped bits are set to zero. */ +static BROTLI_INLINE int BrotliJumpToByteBoundary(BrotliBitReader* br) { + uint32_t pad_bits_count = BrotliGetAvailableBits(br) & 0x7; + uint32_t pad_bits = 0; + if (pad_bits_count != 0) { + BrotliTakeBits(br, pad_bits_count, &pad_bits); + } + return pad_bits == 0; +} + +/* Peeks a byte at specified offset. + Precondition: bit reader is parked to a byte boundary. + Returns -1 if operation is not feasible. */ +static BROTLI_INLINE int BrotliPeekByte(BrotliBitReader* br, size_t offset) { + uint32_t available_bits = BrotliGetAvailableBits(br); + size_t bytes_left = available_bits >> 3; + if (available_bits & 7) { + return -1; + } + if (offset < bytes_left) { + return (BrotliGetBitsUnmasked(br) >> (unsigned)(offset << 3)) & 0xFF; + } + offset -= bytes_left; + if (offset < br->avail_in) { + return br->next_in[offset]; + } + return -1; +} + +/* Copies remaining input bytes stored in the bit reader to the output. Value + num may not be larger than BrotliGetRemainingBytes. The bit reader must be + warmed up again after this. */ +static BROTLI_INLINE void BrotliCopyBytes(uint8_t* dest, + BrotliBitReader* br, size_t num) { + while (BrotliGetAvailableBits(br) >= 8 && num > 0) { + *dest = (uint8_t)BrotliGetBitsUnmasked(br); + BrotliDropBits(br, 8); + ++dest; + --num; + } + memcpy(dest, br->next_in, num); + br->avail_in -= num; + br->next_in += num; +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_DEC_BIT_READER_H_ */ diff --git a/dec/context.h b/dec/context.h new file mode 100644 index 0000000..b71f9a3 --- /dev/null +++ b/dec/context.h @@ -0,0 +1,251 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Lookup table to map the previous two bytes to a context id. + + There are four different context modeling modes defined here: + CONTEXT_LSB6: context id is the least significant 6 bits of the last byte, + CONTEXT_MSB6: context id is the most significant 6 bits of the last byte, + CONTEXT_UTF8: second-order context model tuned for UTF8-encoded text, + CONTEXT_SIGNED: second-order context model tuned for signed integers. + + The context id for the UTF8 context model is calculated as follows. If p1 + and p2 are the previous two bytes, we calculate the context as + + context = kContextLookup[p1] | kContextLookup[p2 + 256]. + + If the previous two bytes are ASCII characters (i.e. < 128), this will be + equivalent to + + context = 4 * context1(p1) + context2(p2), + + where context1 is based on the previous byte in the following way: + + 0 : non-ASCII control + 1 : \t, \n, \r + 2 : space + 3 : other punctuation + 4 : " ' + 5 : % + 6 : ( < [ { + 7 : ) > ] } + 8 : , ; : + 9 : . + 10 : = + 11 : number + 12 : upper-case vowel + 13 : upper-case consonant + 14 : lower-case vowel + 15 : lower-case consonant + + and context2 is based on the second last byte: + + 0 : control, space + 1 : punctuation + 2 : upper-case letter, number + 3 : lower-case letter + + If the last byte is ASCII, and the second last byte is not (in a valid UTF8 + stream it will be a continuation byte, value between 128 and 191), the + context is the same as if the second last byte was an ASCII control or space. + + If the last byte is a UTF8 lead byte (value >= 192), then the next byte will + be a continuation byte and the context id is 2 or 3 depending on the LSB of + the last byte and to a lesser extent on the second last byte if it is ASCII. + + If the last byte is a UTF8 continuation byte, the second last byte can be: + - continuation byte: the next byte is probably ASCII or lead byte (assuming + 4-byte UTF8 characters are rare) and the context id is 0 or 1. + - lead byte (192 - 207): next byte is ASCII or lead byte, context is 0 or 1 + - lead byte (208 - 255): next byte is continuation byte, context is 2 or 3 + + The possible value combinations of the previous two bytes, the range of + context ids and the type of the next byte is summarized in the table below: + + |--------\-----------------------------------------------------------------| + | \ Last byte | + | Second \---------------------------------------------------------------| + | last byte \ ASCII | cont. byte | lead byte | + | \ (0-127) | (128-191) | (192-) | + |=============|===================|=====================|==================| + | ASCII | next: ASCII/lead | not valid | next: cont. | + | (0-127) | context: 4 - 63 | | context: 2 - 3 | + |-------------|-------------------|---------------------|------------------| + | cont. byte | next: ASCII/lead | next: ASCII/lead | next: cont. | + | (128-191) | context: 4 - 63 | context: 0 - 1 | context: 2 - 3 | + |-------------|-------------------|---------------------|------------------| + | lead byte | not valid | next: ASCII/lead | not valid | + | (192-207) | | context: 0 - 1 | | + |-------------|-------------------|---------------------|------------------| + | lead byte | not valid | next: cont. | not valid | + | (208-) | | context: 2 - 3 | | + |-------------|-------------------|---------------------|------------------| + + The context id for the signed context mode is calculated as: + + context = (kContextLookup[512 + p1] << 3) | kContextLookup[512 + p2]. + + For any context modeling modes, the context ids can be calculated by |-ing + together two lookups from one table using context model dependent offsets: + + context = kContextLookup[offset1 + p1] | kContextLookup[offset2 + p2]. + + where offset1 and offset2 are dependent on the context mode. +*/ + +#ifndef BROTLI_DEC_CONTEXT_H_ +#define BROTLI_DEC_CONTEXT_H_ + +#include "./types.h" + +enum ContextType { + CONTEXT_LSB6 = 0, + CONTEXT_MSB6 = 1, + CONTEXT_UTF8 = 2, + CONTEXT_SIGNED = 3 +}; + +/* Common context lookup table for all context modes. */ +static const uint8_t kContextLookup[1792] = { + /* CONTEXT_UTF8, last byte. */ + /* ASCII range. */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 8, 12, 16, 12, 12, 20, 12, 16, 24, 28, 12, 12, 32, 12, 36, 12, + 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 32, 32, 24, 40, 28, 12, + 12, 48, 52, 52, 52, 48, 52, 52, 52, 48, 52, 52, 52, 52, 52, 48, + 52, 52, 52, 52, 52, 48, 52, 52, 52, 52, 52, 24, 12, 28, 12, 12, + 12, 56, 60, 60, 60, 56, 60, 60, 60, 56, 60, 60, 60, 60, 60, 56, + 60, 60, 60, 60, 60, 56, 60, 60, 60, 60, 60, 24, 12, 28, 12, 0, + /* UTF8 continuation byte range. */ + 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, + 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, + 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, + 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, + /* UTF8 lead byte range. */ + 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, + 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, + 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, + 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, + /* CONTEXT_UTF8 second last byte. */ + /* ASCII range. */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, + 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, + 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 0, + /* UTF8 continuation byte range. */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + /* UTF8 lead byte range. */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + /* CONTEXT_SIGNED, second last byte. */ + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, + /* CONTEXT_SIGNED, last byte, same as the above values shifted by 3 bits. */ + 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 56, + /* CONTEXT_LSB6, last byte. */ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + /* CONTEXT_MSB6, last byte. */ + 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, + 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, + 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, + 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, + 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, + 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23, + 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27, + 28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 31, + 32, 32, 32, 32, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35, + 36, 36, 36, 36, 37, 37, 37, 37, 38, 38, 38, 38, 39, 39, 39, 39, + 40, 40, 40, 40, 41, 41, 41, 41, 42, 42, 42, 42, 43, 43, 43, 43, + 44, 44, 44, 44, 45, 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, 47, + 48, 48, 48, 48, 49, 49, 49, 49, 50, 50, 50, 50, 51, 51, 51, 51, + 52, 52, 52, 52, 53, 53, 53, 53, 54, 54, 54, 54, 55, 55, 55, 55, + 56, 56, 56, 56, 57, 57, 57, 57, 58, 58, 58, 58, 59, 59, 59, 59, + 60, 60, 60, 60, 61, 61, 61, 61, 62, 62, 62, 62, 63, 63, 63, 63, + /* CONTEXT_{M,L}SB6, second last byte, */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +}; + +static const int kContextLookupOffsets[8] = { + /* CONTEXT_LSB6 */ + 1024, 1536, + /* CONTEXT_MSB6 */ + 1280, 1536, + /* CONTEXT_UTF8 */ + 0, 256, + /* CONTEXT_SIGNED */ + 768, 512, +}; + +#endif /* BROTLI_DEC_CONTEXT_H_ */ diff --git a/dec/decode.c b/dec/decode.c new file mode 100644 index 0000000..6e3f9e1 --- /dev/null +++ b/dec/decode.c @@ -0,0 +1,2338 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +#include +#include +#include +#include "./bit_reader.h" +#include "./context.h" +#include "./decode.h" +#include "./dictionary.h" +#include "./port.h" +#include "./transform.h" +#include "./huffman.h" +#include "./prefix.h" + +#ifdef __ARM_NEON__ +#include +#endif + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#ifdef BROTLI_DECODE_DEBUG +#define BROTLI_LOG_UINT(name) \ + printf("[%s] %s = %lu\n", __func__, #name, (unsigned long)(name)) +#define BROTLI_LOG_ARRAY_INDEX(array_name, idx) \ + printf("[%s] %s[%lu] = %lu\n", __func__, #array_name, \ + (unsigned long)(idx), (unsigned long)array_name[idx]) +#define BROTLI_LOG(x) printf x +#else +#define BROTLI_LOG_UINT(name) +#define BROTLI_LOG_ARRAY_INDEX(array_name, idx) +#define BROTLI_LOG(x) +#endif + +static const uint32_t kDefaultCodeLength = 8; +static const uint32_t kCodeLengthRepeatCode = 16; +static const uint32_t kNumLiteralCodes = 256; +static const uint32_t kNumInsertAndCopyCodes = 704; +static const uint32_t kNumBlockLengthCodes = 26; +static const int kLiteralContextBits = 6; +static const int kDistanceContextBits = 2; + +#define HUFFMAN_TABLE_BITS 8U +#define HUFFMAN_TABLE_MASK 0xff + +#define CODE_LENGTH_CODES 18 +static const uint8_t kCodeLengthCodeOrder[CODE_LENGTH_CODES] = { + 1, 2, 3, 4, 0, 5, 17, 6, 16, 7, 8, 9, 10, 11, 12, 13, 14, 15, +}; + +/* Static prefix code for the complex code length code lengths. */ +static const uint8_t kCodeLengthPrefixLength[16] = { + 2, 2, 2, 3, 2, 2, 2, 4, 2, 2, 2, 3, 2, 2, 2, 4, +}; + +static const uint8_t kCodeLengthPrefixValue[16] = { + 0, 4, 3, 2, 0, 4, 3, 1, 0, 4, 3, 2, 0, 4, 3, 5, +}; + +#define NUM_DISTANCE_SHORT_CODES 16 + +BrotliState* BrotliCreateState( + brotli_alloc_func alloc_func, brotli_free_func free_func, void* opaque) { + BrotliState* state = 0; + if (!alloc_func && !free_func) { + state = (BrotliState*)malloc(sizeof(BrotliState)); + } else if (alloc_func && free_func) { + state = (BrotliState*)alloc_func(opaque, sizeof(BrotliState)); + } + if (state == 0) { + (void)BROTLI_FAILURE(); + return 0; + } + BrotliStateInitWithCustomAllocators(state, alloc_func, free_func, opaque); + return state; +} + +/* Deinitializes and frees BrotliState instance. */ +void BrotliDestroyState(BrotliState* state) { + if (!state) { + return; + } else { + brotli_free_func free_func = state->free_func; + void* opaque = state->memory_manager_opaque; + BrotliStateCleanup(state); + free_func(opaque, state); + } +} + +/* Decodes a number in the range [9..24], by reading 1 - 7 bits. + Precondition: bit-reader accumulator has at least 7 bits. */ +static uint32_t DecodeWindowBits(BrotliBitReader* br) { + uint32_t n; + BrotliTakeBits(br, 1, &n); + if (n == 0) { + return 16; + } + BrotliTakeBits(br, 3, &n); + if (n != 0) { + return 17 + n; + } + BrotliTakeBits(br, 3, &n); + if (n != 0) { + return 8 + n; + } + return 17; +} + +static BROTLI_INLINE BROTLI_NO_ASAN void memmove16( + uint8_t* dst, uint8_t* src) { +#if BROTLI_SAFE_MEMMOVE + /* For x86 this compiles to the same binary as signle memcpy. + On ARM memcpy is not inlined, so it works slower. + This implementation makes decompression 1% slower than regular one, + and 2% slower than NEON implementation. + */ + uint32_t buffer[4]; + memcpy(buffer, src, 16); + memcpy(dst, buffer, 16); +#elif defined(__ARM_NEON__) + vst1q_u8(dst, vld1q_u8(src)); +#else + /* memcpy is unsafe for overlapping regions and ASAN detects this. + But, because of optimizations, it works exactly as memmove: + copies data to registers first, and then stores them to dst. */ + memcpy(dst, src, 16); +#endif +} + +/* Decodes a number in the range [0..255], by reading 1 - 11 bits. */ +static BROTLI_NOINLINE BrotliResult DecodeVarLenUint8(BrotliState* s, + BrotliBitReader* br, uint32_t* value) { + uint32_t bits; + switch (s->substate_decode_uint8) { + case BROTLI_STATE_DECODE_UINT8_NONE: + if (PREDICT_FALSE(!BrotliSafeReadBits(br, 1, &bits))) { + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + if (bits == 0) { + *value = 0; + return BROTLI_RESULT_SUCCESS; + } + /* No break, transit to the next state. */ + + case BROTLI_STATE_DECODE_UINT8_SHORT: + if (PREDICT_FALSE(!BrotliSafeReadBits(br, 3, &bits))) { + s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_SHORT; + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + if (bits == 0) { + *value = 1; + s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_NONE; + return BROTLI_RESULT_SUCCESS; + } + /* Use output value as a temporary storage. It MUST be persisted. */ + *value = bits; + /* No break, transit to the next state. */ + + case BROTLI_STATE_DECODE_UINT8_LONG: + if (PREDICT_FALSE(!BrotliSafeReadBits(br, *value, &bits))) { + s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_LONG; + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + *value = (1U << *value) + bits; + s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_NONE; + return BROTLI_RESULT_SUCCESS; + + default: + return BROTLI_FAILURE(); + } +} + +/* Decodes a metablock length and flags by reading 2 - 31 bits. */ +static BrotliResult BROTLI_NOINLINE DecodeMetaBlockLength(BrotliState* s, + BrotliBitReader* br) { + uint32_t bits; + int i; + for (;;) { + switch (s->substate_metablock_header) { + case BROTLI_STATE_METABLOCK_HEADER_NONE: + if (!BrotliSafeReadBits(br, 1, &bits)) { + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + s->is_last_metablock = (uint8_t)bits; + s->meta_block_remaining_len = 0; + s->is_uncompressed = 0; + s->is_metadata = 0; + if (!s->is_last_metablock) { + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NIBBLES; + break; + } + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_EMPTY; + /* No break, transit to the next state. */ + + case BROTLI_STATE_METABLOCK_HEADER_EMPTY: + if (!BrotliSafeReadBits(br, 1, &bits)) { + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + if (bits) { + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NONE; + return BROTLI_RESULT_SUCCESS; + } + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NIBBLES; + /* No break, transit to the next state. */ + + case BROTLI_STATE_METABLOCK_HEADER_NIBBLES: + if (!BrotliSafeReadBits(br, 2, &bits)) { + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + s->size_nibbles = (uint8_t)(bits + 4); + s->loop_counter = 0; + if (bits == 3) { + s->is_metadata = 1; + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_RESERVED; + break; + } + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_SIZE; + /* No break, transit to the next state. */ + + case BROTLI_STATE_METABLOCK_HEADER_SIZE: + i = s->loop_counter; + for (; i < s->size_nibbles; ++i) { + if (!BrotliSafeReadBits(br, 4, &bits)) { + s->loop_counter = i; + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + if (i + 1 == s->size_nibbles && s->size_nibbles > 4 && bits == 0) { + return BROTLI_FAILURE(); + } + s->meta_block_remaining_len |= (int)(bits << (i * 4)); + } + s->substate_metablock_header = + BROTLI_STATE_METABLOCK_HEADER_UNCOMPRESSED; + /* No break, transit to the next state. */ + + case BROTLI_STATE_METABLOCK_HEADER_UNCOMPRESSED: + if (!s->is_last_metablock && !s->is_metadata) { + if (!BrotliSafeReadBits(br, 1, &bits)) { + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + s->is_uncompressed = (uint8_t)bits; + } + ++s->meta_block_remaining_len; + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NONE; + return BROTLI_RESULT_SUCCESS; + + case BROTLI_STATE_METABLOCK_HEADER_RESERVED: + if (!BrotliSafeReadBits(br, 1, &bits)) { + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + if (bits != 0) { + return BROTLI_FAILURE(); + } + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_BYTES; + /* No break, transit to the next state. */ + + case BROTLI_STATE_METABLOCK_HEADER_BYTES: + if (!BrotliSafeReadBits(br, 2, &bits)) { + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + if (bits == 0) { + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NONE; + return BROTLI_RESULT_SUCCESS; + } + s->size_nibbles = (uint8_t)bits; + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_METADATA; + /* No break, transit to the next state. */ + + case BROTLI_STATE_METABLOCK_HEADER_METADATA: + i = s->loop_counter; + for (; i < s->size_nibbles; ++i) { + if (!BrotliSafeReadBits(br, 8, &bits)) { + s->loop_counter = i; + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + if (i + 1 == s->size_nibbles && s->size_nibbles > 1 && bits == 0) { + return BROTLI_FAILURE(); + } + s->meta_block_remaining_len |= (int)(bits << (i * 8)); + } + s->substate_metablock_header = + BROTLI_STATE_METABLOCK_HEADER_UNCOMPRESSED; + break; + + default: + return BROTLI_FAILURE(); + } + } +} + +/* Decodes the Huffman code. + This method doesn't read data from the bit reader, BUT drops the amount of + bits that correspond to the decoded symbol. + bits MUST contain at least 15 (BROTLI_HUFFMAN_MAX_CODE_LENGTH) valid bits. */ +static BROTLI_INLINE uint32_t DecodeSymbol(uint32_t bits, + const HuffmanCode* table, + BrotliBitReader* br) { + table += bits & HUFFMAN_TABLE_MASK; + if (table->bits > HUFFMAN_TABLE_BITS) { + uint32_t nbits = table->bits - HUFFMAN_TABLE_BITS; + BrotliDropBits(br, HUFFMAN_TABLE_BITS); + table += table->value; + table += (bits >> HUFFMAN_TABLE_BITS) & BitMask(nbits); + } + BrotliDropBits(br, table->bits); + return table->value; +} + +/* Reads and decodes the next Huffman code from bit-stream. + This method peeks 16 bits of input and drops 0 - 15 of them. */ +static BROTLI_INLINE uint32_t ReadSymbol(const HuffmanCode* table, + BrotliBitReader* br) { + return DecodeSymbol(BrotliGet16BitsUnmasked(br), table, br); +} + +/* Same as DecodeSymbol, but it is known that there is less than 15 bits of + input are currently available. */ +static BROTLI_NOINLINE int SafeDecodeSymbol(const HuffmanCode* table, + BrotliBitReader* br, + uint32_t* result) { + uint32_t val; + uint32_t available_bits = BrotliGetAvailableBits(br); + if (available_bits == 0) { + if (table->bits == 0) { + *result = table->value; + return 1; + } + return 0; /* No valid bits at all. */ + } + val = (uint32_t)BrotliGetBitsUnmasked(br); + table += val & HUFFMAN_TABLE_MASK; + if (table->bits <= HUFFMAN_TABLE_BITS) { + if (table->bits <= available_bits) { + BrotliDropBits(br, table->bits); + *result = table->value; + return 1; + } else { + return 0; /* Not enough bits for the first level. */ + } + } + if (available_bits <= HUFFMAN_TABLE_BITS) { + return 0; /* Not enough bits to move to the second level. */ + } + + /* Speculatively drop HUFFMAN_TABLE_BITS. */ + val = (val & BitMask(table->bits)) >> HUFFMAN_TABLE_BITS; + available_bits -= HUFFMAN_TABLE_BITS; + table += table->value + val; + if (available_bits < table->bits) { + return 0; /* Not enough bits for the second level. */ + } + + BrotliDropBits(br, HUFFMAN_TABLE_BITS + table->bits); + *result = table->value; + return 1; +} + +static BROTLI_INLINE int SafeReadSymbol(const HuffmanCode* table, + BrotliBitReader* br, + uint32_t* result) { + uint32_t val; + if (PREDICT_TRUE(BrotliSafeGetBits(br, 15, &val))) { + *result = DecodeSymbol(val, table, br); + return 1; + } + return SafeDecodeSymbol(table, br, result); +} + + +/* Makes a look-up in first level Huffman table. Peeks 8 bits. */ +static BROTLI_INLINE void PreloadSymbol(int safe, + const HuffmanCode* table, + BrotliBitReader* br, + uint32_t* bits, + uint32_t* value) { + if (safe) { + return; + } + table += BrotliGetBits(br, HUFFMAN_TABLE_BITS); + *bits = table->bits; + *value = table->value; +} + +/* Decodes the next Huffman code using data prepared by PreloadSymbol. + Reads 0 - 15 bits. Also peeks 8 following bits. */ +static BROTLI_INLINE uint32_t ReadPreloadedSymbol(const HuffmanCode* table, + BrotliBitReader* br, + uint32_t* bits, + uint32_t* value) { + uint32_t result = *value; + if (PREDICT_FALSE(*bits > HUFFMAN_TABLE_BITS)) { + uint32_t val = BrotliGet16BitsUnmasked(br); + const HuffmanCode* ext = table + (val & HUFFMAN_TABLE_MASK) + *value; + uint32_t mask = BitMask((*bits - HUFFMAN_TABLE_BITS)); + BrotliDropBits(br, HUFFMAN_TABLE_BITS); + ext += (val >> HUFFMAN_TABLE_BITS) & mask; + BrotliDropBits(br, ext->bits); + result = ext->value; + } else { + BrotliDropBits(br, *bits); + } + PreloadSymbol(0, table, br, bits, value); + return result; +} + +static BROTLI_INLINE uint32_t Log2Floor(uint32_t x) { + uint32_t result = 0; + while (x) { + x >>= 1; + ++result; + } + return result; +} + +/* Reads (s->symbol + 1) symbols. + Totally 1..4 symbols are read, 1..10 bits each. + The list of symbols MUST NOT contain duplicates. + */ +static BrotliResult ReadSimpleHuffmanSymbols(uint32_t alphabet_size, + BrotliState* s) { + /* max_bits == 1..10; symbol == 0..3; 1..40 bits will be read. */ + BrotliBitReader* br = &s->br; + uint32_t max_bits = Log2Floor(alphabet_size - 1); + uint32_t i = s->sub_loop_counter; + uint32_t num_symbols = s->symbol; + while (i <= num_symbols) { + uint32_t v; + if (PREDICT_FALSE(!BrotliSafeReadBits(br, max_bits, &v))) { + s->sub_loop_counter = i; + s->substate_huffman = BROTLI_STATE_HUFFMAN_SIMPLE_READ; + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + if (v >= alphabet_size) { + return BROTLI_FAILURE(); + } + s->symbols_lists_array[i] = (uint16_t)v; + BROTLI_LOG_UINT(s->symbols_lists_array[i]); + ++i; + } + + for (i = 0; i < num_symbols; ++i) { + uint32_t k = i + 1; + for (; k <= num_symbols; ++k) { + if (s->symbols_lists_array[i] == s->symbols_lists_array[k]) { + return BROTLI_FAILURE(); + } + } + } + + return BROTLI_RESULT_SUCCESS; +} + +/* Process single decoded symbol code length: + A) reset the repeat variable + B) remember code length (if it is not 0) + C) extend corredponding index-chain + D) reduce the huffman space + E) update the histogram + */ +static BROTLI_INLINE void ProcessSingleCodeLength(uint32_t code_len, + uint32_t* symbol, uint32_t* repeat, uint32_t* space, + uint32_t* prev_code_len, uint16_t* symbol_lists, + uint16_t* code_length_histo, int* next_symbol) { + *repeat = 0; + if (code_len != 0) { /* code_len == 1..15 */ + symbol_lists[next_symbol[code_len]] = (uint16_t)(*symbol); + next_symbol[code_len] = (int)(*symbol); + *prev_code_len = code_len; + *space -= 32768U >> code_len; + code_length_histo[code_len]++; + } + (*symbol)++; +} + +/* Process repeated symbol code length. + A) Check if it is the extension of previous repeat sequence; if the decoded + value is not kCodeLengthRepeatCode, then it is a new symbol-skip + B) Update repeat variable + C) Check if operation is feasible (fits alphapet) + D) For each symbol do the same operations as in ProcessSingleCodeLength + + PRECONDITION: code_len == kCodeLengthRepeatCode or kCodeLengthRepeatCode + 1 + */ +static BROTLI_INLINE void ProcessRepeatedCodeLength(uint32_t code_len, + uint32_t repeat_delta, uint32_t alphabet_size, uint32_t* symbol, + uint32_t* repeat, uint32_t* space, uint32_t* prev_code_len, + uint32_t* repeat_code_len, uint16_t* symbol_lists, + uint16_t* code_length_histo, int* next_symbol) { + uint32_t old_repeat; + uint32_t new_len = 0; + if (code_len == kCodeLengthRepeatCode) { + new_len = *prev_code_len; + } + if (*repeat_code_len != new_len) { + *repeat = 0; + *repeat_code_len = new_len; + } + old_repeat = *repeat; + if (*repeat > 0) { + *repeat -= 2; + *repeat <<= code_len - 14U; + } + *repeat += repeat_delta + 3U; + repeat_delta = *repeat - old_repeat; + if (*symbol + repeat_delta > alphabet_size) { + (void)BROTLI_FAILURE(); + *symbol = alphabet_size; + *space = 0xFFFFF; + return; + } + if (*repeat_code_len != 0) { + unsigned last = *symbol + repeat_delta; + int next = next_symbol[*repeat_code_len]; + do { + symbol_lists[next] = (uint16_t)*symbol; + next = (int)*symbol; + } while (++(*symbol) != last); + next_symbol[*repeat_code_len] = next; + *space -= repeat_delta << (15 - *repeat_code_len); + code_length_histo[*repeat_code_len] = (uint16_t) + (code_length_histo[*repeat_code_len] + repeat_delta); + } else { + *symbol += repeat_delta; + } +} + +/* Reads and decodes symbol codelengths. */ +static BrotliResult ReadSymbolCodeLengths( + uint32_t alphabet_size, BrotliState* s) { + BrotliBitReader* br = &s->br; + uint32_t symbol = s->symbol; + uint32_t repeat = s->repeat; + uint32_t space = s->space; + uint32_t prev_code_len = s->prev_code_len; + uint32_t repeat_code_len = s->repeat_code_len; + uint16_t* symbol_lists = s->symbol_lists; + uint16_t* code_length_histo = s->code_length_histo; + int* next_symbol = s->next_symbol; + if (!BrotliWarmupBitReader(br)) { + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + while (symbol < alphabet_size && space > 0) { + const HuffmanCode* p = s->table; + uint32_t code_len; + if (!BrotliCheckInputAmount(br, BROTLI_SHORT_FILL_BIT_WINDOW_READ)) { + s->symbol = symbol; + s->repeat = repeat; + s->prev_code_len = prev_code_len; + s->repeat_code_len = repeat_code_len; + s->space = space; + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + BrotliFillBitWindow16(br); + p += BrotliGetBitsUnmasked(br) & + BitMask(BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH); + BrotliDropBits(br, p->bits); /* Use 1..5 bits */ + code_len = p->value; /* code_len == 0..17 */ + if (code_len < kCodeLengthRepeatCode) { + ProcessSingleCodeLength(code_len, &symbol, &repeat, &space, + &prev_code_len, symbol_lists, code_length_histo, next_symbol); + } else { /* code_len == 16..17, extra_bits == 2..3 */ + uint32_t repeat_delta = + (uint32_t)BrotliGetBitsUnmasked(br) & BitMask(code_len - 14U); + BrotliDropBits(br, code_len - 14U); + ProcessRepeatedCodeLength(code_len, repeat_delta, alphabet_size, + &symbol, &repeat, &space, &prev_code_len, &repeat_code_len, + symbol_lists, code_length_histo, next_symbol); + } + } + s->space = space; + return BROTLI_RESULT_SUCCESS; +} + +static BrotliResult SafeReadSymbolCodeLengths( + uint32_t alphabet_size, BrotliState* s) { + BrotliBitReader* br = &s->br; + while (s->symbol < alphabet_size && s->space > 0) { + const HuffmanCode* p = s->table; + uint32_t code_len; + uint32_t bits = 0; + uint32_t available_bits = BrotliGetAvailableBits(br); + if (available_bits != 0) { + bits = (uint32_t)BrotliGetBitsUnmasked(br); + } + p += bits & BitMask(BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH); + if (p->bits > available_bits) goto pullMoreInput; + code_len = p->value; /* code_len == 0..17 */ + if (code_len < kCodeLengthRepeatCode) { + BrotliDropBits(br, p->bits); + ProcessSingleCodeLength(code_len, &s->symbol, &s->repeat, &s->space, + &s->prev_code_len, s->symbol_lists, s->code_length_histo, + s->next_symbol); + } else { /* code_len == 16..17, extra_bits == 2..3 */ + uint32_t extra_bits = code_len - 14U; + uint32_t repeat_delta = (bits >> p->bits) & BitMask(extra_bits); + if (available_bits < p->bits + extra_bits) goto pullMoreInput; + BrotliDropBits(br, p->bits + extra_bits); + ProcessRepeatedCodeLength(code_len, repeat_delta, alphabet_size, + &s->symbol, &s->repeat, &s->space, &s->prev_code_len, + &s->repeat_code_len, s->symbol_lists, s->code_length_histo, + s->next_symbol); + } + continue; + +pullMoreInput: + if (!BrotliPullByte(br)) { + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + } + return BROTLI_RESULT_SUCCESS; +} + +/* Reads and decodes 15..18 codes using static prefix code. + Each code is 2..4 bits long. In total 30..72 bits are used. */ +static BrotliResult ReadCodeLengthCodeLengths(BrotliState* s) { + BrotliBitReader* br = &s->br; + uint32_t num_codes = s->repeat; + unsigned space = s->space; + uint32_t i = s->sub_loop_counter; + for (; i < CODE_LENGTH_CODES; ++i) { + const uint8_t code_len_idx = kCodeLengthCodeOrder[i]; + uint32_t ix; + uint32_t v; + if (PREDICT_FALSE(!BrotliSafeGetBits(br, 4, &ix))) { + uint32_t available_bits = BrotliGetAvailableBits(br); + if (available_bits != 0) { + ix = BrotliGetBitsUnmasked(br) & 0xF; + } else { + ix = 0; + } + if (kCodeLengthPrefixLength[ix] > available_bits) { + s->sub_loop_counter = i; + s->repeat = num_codes; + s->space = space; + s->substate_huffman = BROTLI_STATE_HUFFMAN_COMPLEX; + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + } + v = kCodeLengthPrefixValue[ix]; + BrotliDropBits(br, kCodeLengthPrefixLength[ix]); + s->code_length_code_lengths[code_len_idx] = (uint8_t)v; + BROTLI_LOG_ARRAY_INDEX(s->code_length_code_lengths, code_len_idx); + if (v != 0) { + space = space - (32U >> v); + ++num_codes; + ++s->code_length_histo[v]; + if (space - 1U >= 32U) { + /* space is 0 or wrapped around */ + break; + } + } + } + if (!(num_codes == 1 || space == 0)) { + return BROTLI_FAILURE(); + } + return BROTLI_RESULT_SUCCESS; +} + +/* Decodes the Huffman tables. + There are 2 scenarios: + A) Huffman code contains only few symbols (1..4). Those symbols are read + directly; their code lengths are defined by the number of symbols. + For this scenario 4 - 45 bits will be read. + + B) 2-phase decoding: + B.1) Small Huffman table is decoded; it is specified with code lengths + encoded with predefined entropy code. 32 - 74 bits are used. + B.2) Decoded table is used to decode code lengths of symbols in resulting + Huffman table. In worst case 3520 bits are read. +*/ +static BrotliResult ReadHuffmanCode(uint32_t alphabet_size, + HuffmanCode* table, + uint32_t* opt_table_size, + BrotliState* s) { + BrotliBitReader* br = &s->br; + /* Unnecessary masking, but might be good for safety. */ + alphabet_size &= 0x3ff; + /* State machine */ + switch (s->substate_huffman) { + case BROTLI_STATE_HUFFMAN_NONE: + if (!BrotliSafeReadBits(br, 2, &s->sub_loop_counter)) { + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + BROTLI_LOG_UINT(s->sub_loop_counter); + /* The value is used as follows: + 1 for simple code; + 0 for no skipping, 2 skips 2 code lengths, 3 skips 3 code lengths */ + if (s->sub_loop_counter != 1) { + s->space = 32; + s->repeat = 0; /* num_codes */ + memset(&s->code_length_histo[0], 0, sizeof(s->code_length_histo[0]) * + (BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH + 1)); + memset(&s->code_length_code_lengths[0], 0, + sizeof(s->code_length_code_lengths)); + s->substate_huffman = BROTLI_STATE_HUFFMAN_COMPLEX; + goto Complex; + } + /* No break, transit to the next state. */ + + case BROTLI_STATE_HUFFMAN_SIMPLE_SIZE: + /* Read symbols, codes & code lengths directly. */ + if (!BrotliSafeReadBits(br, 2, &s->symbol)) { /* num_symbols */ + s->substate_huffman = BROTLI_STATE_HUFFMAN_SIMPLE_SIZE; + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + s->sub_loop_counter = 0; + /* No break, transit to the next state. */ + case BROTLI_STATE_HUFFMAN_SIMPLE_READ: { + BrotliResult result = ReadSimpleHuffmanSymbols(alphabet_size, s); + if (result != BROTLI_RESULT_SUCCESS) { + return result; + } + /* No break, transit to the next state. */ + } + case BROTLI_STATE_HUFFMAN_SIMPLE_BUILD: { + uint32_t table_size; + if (s->symbol == 3) { + uint32_t bits; + if (!BrotliSafeReadBits(br, 1, &bits)) { + s->substate_huffman = BROTLI_STATE_HUFFMAN_SIMPLE_BUILD; + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + s->symbol += bits; + } + BROTLI_LOG_UINT(s->symbol); + table_size = BrotliBuildSimpleHuffmanTable( + table, HUFFMAN_TABLE_BITS, s->symbols_lists_array, s->symbol); + if (opt_table_size) { + *opt_table_size = table_size; + } + s->substate_huffman = BROTLI_STATE_HUFFMAN_NONE; + return BROTLI_RESULT_SUCCESS; + } + +Complex: /* Decode Huffman-coded code lengths. */ + case BROTLI_STATE_HUFFMAN_COMPLEX: { + uint32_t i; + BrotliResult result = ReadCodeLengthCodeLengths(s); + if (result != BROTLI_RESULT_SUCCESS) { + return result; + } + BrotliBuildCodeLengthsHuffmanTable(s->table, + s->code_length_code_lengths, + s->code_length_histo); + memset(&s->code_length_histo[0], 0, sizeof(s->code_length_histo)); + for (i = 0; i <= BROTLI_HUFFMAN_MAX_CODE_LENGTH; ++i) { + s->next_symbol[i] = (int)i - (BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1); + s->symbol_lists[(int)i - (BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1)] = 0xFFFF; + } + + s->symbol = 0; + s->prev_code_len = kDefaultCodeLength; + s->repeat = 0; + s->repeat_code_len = 0; + s->space = 32768; + s->substate_huffman = BROTLI_STATE_HUFFMAN_LENGTH_SYMBOLS; + /* No break, transit to the next state. */ + } + case BROTLI_STATE_HUFFMAN_LENGTH_SYMBOLS: { + uint32_t table_size; + BrotliResult result = ReadSymbolCodeLengths(alphabet_size, s); + if (result == BROTLI_RESULT_NEEDS_MORE_INPUT) { + result = SafeReadSymbolCodeLengths(alphabet_size, s); + } + if (result != BROTLI_RESULT_SUCCESS) { + return result; + } + + if (s->space != 0) { + BROTLI_LOG(("[ReadHuffmanCode] space = %d\n", s->space)); + return BROTLI_FAILURE(); + } + table_size = BrotliBuildHuffmanTable(table, HUFFMAN_TABLE_BITS, + s->symbol_lists, s->code_length_histo); + if (opt_table_size) { + *opt_table_size = table_size; + } + s->substate_huffman = BROTLI_STATE_HUFFMAN_NONE; + return BROTLI_RESULT_SUCCESS; + } + + default: + return BROTLI_FAILURE(); + } +} + +/* Decodes a block length by reading 3..39 bits. */ +static BROTLI_INLINE uint32_t ReadBlockLength(const HuffmanCode* table, + BrotliBitReader* br) { + uint32_t code; + uint32_t nbits; + code = ReadSymbol(table, br); + nbits = kBlockLengthPrefixCode[code].nbits; /* nbits == 2..24 */ + return kBlockLengthPrefixCode[code].offset + BrotliReadBits(br, nbits); +} + +/* WARNING: if state is not BROTLI_STATE_READ_BLOCK_LENGTH_NONE, then + reading can't be continued with ReadBlockLength. */ +static BROTLI_INLINE int SafeReadBlockLength(BrotliState* s, + uint32_t* result, + const HuffmanCode* table, + BrotliBitReader* br) { + uint32_t index; + if (s->substate_read_block_length == BROTLI_STATE_READ_BLOCK_LENGTH_NONE) { + if (!SafeReadSymbol(table, br, &index)) { + return 0; + } + } else { + index = s->block_length_index; + } + { + uint32_t bits; + uint32_t nbits = kBlockLengthPrefixCode[index].nbits; /* nbits == 2..24 */ + if (!BrotliSafeReadBits(br, nbits, &bits)) { + s->block_length_index = index; + s->substate_read_block_length = BROTLI_STATE_READ_BLOCK_LENGTH_SUFFIX; + return 0; + } + *result = kBlockLengthPrefixCode[index].offset + bits; + s->substate_read_block_length = BROTLI_STATE_READ_BLOCK_LENGTH_NONE; + return 1; + } +} + +/* Transform: + 1) initialize list L with values 0, 1,... 255 + 2) For each input element X: + 2.1) let Y = L[X] + 2.2) remove X-th element from L + 2.3) prepend Y to L + 2.4) append Y to output + + In most cases max(Y) <= 7, so most of L remains intact. + To reduce the cost of initialization, we reuse L, remember the upper bound + of Y values, and reinitialize only first elements in L. + + Most of input values are 0 and 1. To reduce number of branches, we replace + inner for loop with do-while. + */ +static BROTLI_NOINLINE void InverseMoveToFrontTransform(uint8_t* v, + uint32_t v_len, BrotliState* state) { + /* Reinitialize elements that could have been changed. */ + uint32_t i = 4; + uint32_t upper_bound = state->mtf_upper_bound; + uint8_t* mtf = state->mtf; + /* Load endian-aware constant. */ + const uint8_t b0123[4] = {0, 1, 2, 3}; + uint32_t pattern; + memcpy(&pattern, &b0123, 4); + + /* Initialize list using 4 consequent values pattern. */ + *(uint32_t*)mtf = pattern; + do { + pattern += 0x04040404; /* Advance all 4 values by 4. */ + *(uint32_t*)(mtf + i) = pattern; + i += 4; + } while (i <= upper_bound); + + /* Transform the input. */ + upper_bound = 0; + for (i = 0; i < v_len; ++i) { + int index = v[i]; + uint8_t value = mtf[index]; + upper_bound |= v[i]; + v[i] = value; + do { + index--; + mtf[index + 1] = mtf[index]; + } while (index > 0); + mtf[0] = value; + } + /* Remember amount of elements to be reinitialized. */ + state->mtf_upper_bound = upper_bound; +} + + +/* Decodes a series of Huffman table using ReadHuffmanCode function. */ +static BrotliResult HuffmanTreeGroupDecode(HuffmanTreeGroup* group, + BrotliState* s) { + if (s->substate_tree_group != BROTLI_STATE_TREE_GROUP_LOOP) { + s->next = group->codes; + s->htree_index = 0; + s->substate_tree_group = BROTLI_STATE_TREE_GROUP_LOOP; + } + while (s->htree_index < group->num_htrees) { + uint32_t table_size; + BrotliResult result = + ReadHuffmanCode(group->alphabet_size, s->next, &table_size, s); + if (result != BROTLI_RESULT_SUCCESS) return result; + group->htrees[s->htree_index] = s->next; + s->next += table_size; + ++s->htree_index; + } + s->substate_tree_group = BROTLI_STATE_TREE_GROUP_NONE; + return BROTLI_RESULT_SUCCESS; +} + +/* Decodes a context map. + Decoding is done in 4 phases: + 1) Read auxiliary information (6..16 bits) and allocate memory. + In case of trivial context map, decoding is finished at this phase. + 2) Decode Huffman table using ReadHuffmanCode function. + This table will be used for reading context map items. + 3) Read context map items; "0" values could be run-length encoded. + 4) Optionally, apply InverseMoveToFront transform to the resulting map. + */ +static BrotliResult DecodeContextMap(uint32_t context_map_size, + uint32_t* num_htrees, + uint8_t** context_map_arg, + BrotliState* s) { + BrotliBitReader* br = &s->br; + BrotliResult result = BROTLI_RESULT_SUCCESS; + + switch((int)s->substate_context_map) { + case BROTLI_STATE_CONTEXT_MAP_NONE: + result = DecodeVarLenUint8(s, br, num_htrees); + if (result != BROTLI_RESULT_SUCCESS) { + return result; + } + (*num_htrees)++; + s->context_index = 0; + BROTLI_LOG_UINT(context_map_size); + BROTLI_LOG_UINT(*num_htrees); + *context_map_arg = (uint8_t*)BROTLI_ALLOC(s, (size_t)context_map_size); + if (*context_map_arg == 0) { + return BROTLI_FAILURE(); + } + if (*num_htrees <= 1) { + memset(*context_map_arg, 0, (size_t)context_map_size); + return BROTLI_RESULT_SUCCESS; + } + s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_READ_PREFIX; + /* No break, continue to next state. */ + case BROTLI_STATE_CONTEXT_MAP_READ_PREFIX: { + uint32_t bits; + /* In next stage ReadHuffmanCode uses at least 4 bits, so it is safe + to peek 4 bits ahead. */ + if (!BrotliSafeGetBits(br, 5, &bits)) { + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + if ((bits & 1) != 0) { /* Use RLE for zeroes. */ + s->max_run_length_prefix = (bits >> 1) + 1; + BrotliDropBits(br, 5); + } else { + s->max_run_length_prefix = 0; + BrotliDropBits(br, 1); + } + BROTLI_LOG_UINT(s->max_run_length_prefix); + s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_HUFFMAN; + /* No break, continue to next state. */ + } + case BROTLI_STATE_CONTEXT_MAP_HUFFMAN: + result = ReadHuffmanCode(*num_htrees + s->max_run_length_prefix, + s->context_map_table, NULL, s); + if (result != BROTLI_RESULT_SUCCESS) return result; + s->code = 0xFFFF; + s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_DECODE; + /* No break, continue to next state. */ + case BROTLI_STATE_CONTEXT_MAP_DECODE: { + uint32_t context_index = s->context_index; + uint32_t max_run_length_prefix = s->max_run_length_prefix; + uint8_t* context_map = *context_map_arg; + uint32_t code = s->code; + if (code != 0xFFFF) { + goto rleCode; + } + while (context_index < context_map_size) { + if (!SafeReadSymbol(s->context_map_table, br, &code)) { + s->code = 0xFFFF; + s->context_index = context_index; + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + BROTLI_LOG_UINT(code); + + if (code == 0) { + context_map[context_index++] = 0; + continue; + } + if (code > max_run_length_prefix) { + context_map[context_index++] = + (uint8_t)(code - max_run_length_prefix); + continue; + } +rleCode: + { + uint32_t reps; + if (!BrotliSafeReadBits(br, code, &reps)) { + s->code = code; + s->context_index = context_index; + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + reps += 1U << code; + BROTLI_LOG_UINT(reps); + if (context_index + reps > context_map_size) { + return BROTLI_FAILURE(); + } + do { + context_map[context_index++] = 0; + } while (--reps); + } + } + /* No break, continue to next state. */ + } + case BROTLI_STATE_CONTEXT_MAP_TRANSFORM: { + uint32_t bits; + if (!BrotliSafeReadBits(br, 1, &bits)) { + s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_TRANSFORM; + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + if (bits != 0) { + InverseMoveToFrontTransform(*context_map_arg, context_map_size, s); + } + s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_NONE; + return BROTLI_RESULT_SUCCESS; + } + } + + return BROTLI_FAILURE(); +} + +/* Decodes a command or literal and updates block type ringbuffer. + Reads 3..54 bits. */ +static BROTLI_INLINE int DecodeBlockTypeAndLength(int safe, + BrotliState* s, int tree_type) { + uint32_t max_block_type = s->num_block_types[tree_type]; + int tree_offset = tree_type * BROTLI_HUFFMAN_MAX_TABLE_SIZE; + const HuffmanCode* type_tree = &s->block_type_trees[tree_offset]; + const HuffmanCode* len_tree = &s->block_len_trees[tree_offset]; + BrotliBitReader* br = &s->br; + uint32_t* ringbuffer = &s->block_type_rb[tree_type * 2]; + uint32_t block_type; + + /* Read 0..15 + 3..39 bits */ + if (!safe) { + block_type = ReadSymbol(type_tree, br); + s->block_length[tree_type] = ReadBlockLength(len_tree, br); + } else { + BrotliBitReaderState memento; + BrotliBitReaderSaveState(br, &memento); + if (!SafeReadSymbol(type_tree, br, &block_type)) return 0; + if (!SafeReadBlockLength(s, &s->block_length[tree_type], len_tree, br)) { + s->substate_read_block_length = BROTLI_STATE_READ_BLOCK_LENGTH_NONE; + BrotliBitReaderRestoreState(br, &memento); + return 0; + } + } + + if (block_type == 1) { + block_type = ringbuffer[1] + 1; + } else if (block_type == 0) { + block_type = ringbuffer[0]; + } else { + block_type -= 2; + } + if (block_type >= max_block_type) { + block_type -= max_block_type; + } + ringbuffer[0] = ringbuffer[1]; + ringbuffer[1] = block_type; + return 1; +} + +/* Decodes the block type and updates the state for literal context. + Reads 3..54 bits. */ +static BROTLI_INLINE int DecodeLiteralBlockSwitchInternal(int safe, + BrotliState* s) { + uint8_t context_mode; + uint32_t context_offset; + if (!DecodeBlockTypeAndLength(safe, s, 0)) { + return 0; + } + context_offset = s->block_type_rb[1] << kLiteralContextBits; + s->context_map_slice = s->context_map + context_offset; + s->literal_htree_index = s->context_map_slice[0]; + s->literal_htree = s->literal_hgroup.htrees[s->literal_htree_index]; + context_mode = s->context_modes[s->block_type_rb[1]]; + s->context_lookup1 = &kContextLookup[kContextLookupOffsets[context_mode]]; + s->context_lookup2 = &kContextLookup[kContextLookupOffsets[context_mode + 1]]; + return 1; +} + +static void BROTLI_NOINLINE DecodeLiteralBlockSwitch(BrotliState* s) { + DecodeLiteralBlockSwitchInternal(0, s); +} + +static int BROTLI_NOINLINE SafeDecodeLiteralBlockSwitch(BrotliState* s) { + return DecodeLiteralBlockSwitchInternal(1, s); +} + +/* Block switch for insert/copy length. + Reads 3..54 bits. */ +static BROTLI_INLINE int DecodeCommandBlockSwitchInternal(int safe, + BrotliState* s) { + if (!DecodeBlockTypeAndLength(safe, s, 1)) { + return 0; + } + s->htree_command = s->insert_copy_hgroup.htrees[s->block_type_rb[3]]; + return 1; +} + +static void BROTLI_NOINLINE DecodeCommandBlockSwitch(BrotliState* s) { + DecodeCommandBlockSwitchInternal(0, s); +} +static int BROTLI_NOINLINE SafeDecodeCommandBlockSwitch(BrotliState* s) { + return DecodeCommandBlockSwitchInternal(1, s); +} + +/* Block switch for distance codes. + Reads 3..54 bits. */ +static BROTLI_INLINE int DecodeDistanceBlockSwitchInternal(int safe, + BrotliState* s) { + if (!DecodeBlockTypeAndLength(safe, s, 2)) { + return 0; + } + s->dist_context_map_slice = + s->dist_context_map + (s->block_type_rb[5] << kDistanceContextBits); + s->dist_htree_index = s->dist_context_map_slice[s->distance_context]; + return 1; +} + +static void BROTLI_NOINLINE DecodeDistanceBlockSwitch(BrotliState* s) { + DecodeDistanceBlockSwitchInternal(0, s); +} + +static int BROTLI_NOINLINE SafeDecodeDistanceBlockSwitch(BrotliState* s) { + return DecodeDistanceBlockSwitchInternal(1, s); +} + +static BrotliResult WriteRingBuffer(size_t* available_out, uint8_t** next_out, + size_t* total_out, BrotliState* s) { + size_t pos = (s->pos > s->ringbuffer_size) ? + (size_t)s->ringbuffer_size : (size_t)(s->pos); + uint8_t* start = s->ringbuffer + + (s->partial_pos_out & (size_t)s->ringbuffer_mask); + size_t partial_pos_rb = + (s->rb_roundtrips * (size_t)s->ringbuffer_size) + pos; + size_t to_write = (partial_pos_rb - s->partial_pos_out); + size_t num_written = *available_out; + if (num_written > to_write) { + num_written = to_write; + } + if (s->meta_block_remaining_len < 0) { + return BROTLI_FAILURE(); + } + memcpy(*next_out, start, num_written); + *next_out += num_written; + *available_out -= num_written; + BROTLI_LOG_UINT(to_write); + BROTLI_LOG_UINT(num_written); + s->partial_pos_out += (size_t)num_written; + *total_out = s->partial_pos_out; + if (num_written < to_write) { + return BROTLI_RESULT_NEEDS_MORE_OUTPUT; + } + return BROTLI_RESULT_SUCCESS; +} + +static BrotliResult BROTLI_NOINLINE CopyUncompressedBlockToOutput( + size_t* available_out, uint8_t** next_out, size_t* total_out, + BrotliState* s) { + /* State machine */ + for (;;) { + switch (s->substate_uncompressed) { + case BROTLI_STATE_UNCOMPRESSED_NONE: { + int nbytes = (int)BrotliGetRemainingBytes(&s->br); + if (nbytes > s->meta_block_remaining_len) { + nbytes = s->meta_block_remaining_len; + } + if (s->pos + nbytes > s->ringbuffer_size) { + nbytes = s->ringbuffer_size - s->pos; + } + /* Copy remaining bytes from s->br.buf_ to ringbuffer. */ + BrotliCopyBytes(&s->ringbuffer[s->pos], &s->br, (size_t)nbytes); + s->pos += nbytes; + s->meta_block_remaining_len -= nbytes; + if (s->pos < s->ringbuffer_size) { + if (s->meta_block_remaining_len == 0) { + return BROTLI_RESULT_SUCCESS; + } + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + s->substate_uncompressed = BROTLI_STATE_UNCOMPRESSED_WRITE; + /*s->partial_pos_rb += (size_t)s->ringbuffer_size;*/ + /* No break, continue to next state */ + } + case BROTLI_STATE_UNCOMPRESSED_WRITE: { + BrotliResult result = WriteRingBuffer( + available_out, next_out, total_out, s); + if (result != BROTLI_RESULT_SUCCESS) { + return result; + } + s->pos = 0; + s->rb_roundtrips++; + s->max_distance = s->max_backward_distance; + s->substate_uncompressed = BROTLI_STATE_UNCOMPRESSED_NONE; + break; + } + } + } + return BROTLI_FAILURE(); +} + +int BrotliDecompressedSize(size_t encoded_size, + const uint8_t* encoded_buffer, + size_t* decoded_size) { + BrotliState s; + int next_block_header; + BrotliStateInit(&s); + s.br.next_in = encoded_buffer; + s.br.avail_in = encoded_size; + if (!BrotliWarmupBitReader(&s.br)) { + return 0; + } + DecodeWindowBits(&s.br); + if (DecodeMetaBlockLength(&s, &s.br) != BROTLI_RESULT_SUCCESS) { + return 0; + } + *decoded_size = (size_t)s.meta_block_remaining_len; + if (s.is_last_metablock) { + return 1; + } + if (!s.is_uncompressed || !BrotliJumpToByteBoundary(&s.br)) { + return 0; + } + next_block_header = BrotliPeekByte(&s.br, (size_t)s.meta_block_remaining_len); + return (next_block_header != -1) && ((next_block_header & 3) == 3); +} + +/* Allocates the smallest feasible ring buffer. + + If we know the data size is small, do not allocate more ringbuffer + size than needed to reduce memory usage. + + This method is called before the first non-empty non-metadata block is + processed. When this method is called, metablock size and flags MUST be + decoded. +*/ +static int BROTLI_NOINLINE BrotliAllocateRingBuffer(BrotliState* s, + BrotliBitReader* br) { + /* We need the slack region for the following reasons: + - doing up to two 16-byte copies for fast backward copying + - inserting transformed dictionary word (5 prefix + 24 base + 8 suffix) */ + static const int kRingBufferWriteAheadSlack = 42; + int is_last = s->is_last_metablock; + s->ringbuffer_size = 1 << s->window_bits; + + if (s->is_uncompressed) { + int next_block_header = BrotliPeekByte(br, + (size_t)s->meta_block_remaining_len); + if (next_block_header != -1) { /* Peek succeeded */ + if ((next_block_header & 3) == 3) { /* ISLAST and ISEMPTY */ + is_last = 1; + } + } + } + + /* We need at least 2 bytes of ring buffer size to get the last two + bytes for context from there */ + if (is_last) { + while (s->ringbuffer_size >= s->meta_block_remaining_len * 2 + && s->ringbuffer_size > 32) { + s->ringbuffer_size >>= 1; + } + } + + /* But make it fit the custom dictionary if there is one. */ + while (s->ringbuffer_size < s->custom_dict_size) { + s->ringbuffer_size <<= 1; + } + + s->ringbuffer_mask = s->ringbuffer_size - 1; + s->ringbuffer = (uint8_t*)BROTLI_ALLOC(s, (size_t)(s->ringbuffer_size + + kRingBufferWriteAheadSlack + kBrotliMaxDictionaryWordLength)); + if (s->ringbuffer == 0) { + return 0; + } + s->ringbuffer_end = s->ringbuffer + s->ringbuffer_size; + s->ringbuffer[s->ringbuffer_size - 2] = 0; + s->ringbuffer[s->ringbuffer_size - 1] = 0; + if (s->custom_dict) { + memcpy(&s->ringbuffer[(-s->custom_dict_size) & s->ringbuffer_mask], + s->custom_dict, (size_t)s->custom_dict_size); + } + + return 1; +} + +/* Reads 1..256 2-bit context modes. */ +static BrotliResult ReadContextModes(BrotliState* s) { + BrotliBitReader* br = &s->br; + int i = s->loop_counter; + + while (i < (int)s->num_block_types[0]) { + uint32_t bits; + if (!BrotliSafeReadBits(br, 2, &bits)) { + s->loop_counter = i; + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + s->context_modes[i] = (uint8_t)(bits << 1); + BROTLI_LOG_ARRAY_INDEX(s->context_modes, i); + i++; + } + return BROTLI_RESULT_SUCCESS; +} + +static BROTLI_INLINE void TakeDistanceFromRingBuffer(BrotliState* s) { + if (s->distance_code == 0) { + --s->dist_rb_idx; + s->distance_code = s->dist_rb[s->dist_rb_idx & 3]; + } else { + int distance_code = s->distance_code << 1; + /* kDistanceShortCodeIndexOffset has 2-bit values from LSB: */ + /* 3, 2, 1, 0, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2 */ + const uint32_t kDistanceShortCodeIndexOffset = 0xaaafff1b; + /* kDistanceShortCodeValueOffset has 2-bit values from LSB: */ + /*-0, 0,-0, 0,-1, 1,-2, 2,-3, 3,-1, 1,-2, 2,-3, 3 */ + const uint32_t kDistanceShortCodeValueOffset = 0xfa5fa500; + int v = (s->dist_rb_idx + + (int)(kDistanceShortCodeIndexOffset >> distance_code)) & 0x3; + s->distance_code = s->dist_rb[v]; + v = (int)(kDistanceShortCodeValueOffset >> distance_code) & 0x3; + if ((distance_code & 0x3) != 0) { + s->distance_code += v; + } else { + s->distance_code -= v; + if (s->distance_code <= 0) { + /* A huge distance will cause a BROTLI_FAILURE() soon. */ + /* This is a little faster than failing here. */ + s->distance_code = 0x0fffffff; + } + } + } +} + +static BROTLI_INLINE int SafeReadBits( + BrotliBitReader* const br, uint32_t n_bits, uint32_t* val) { + if (n_bits != 0) { + return BrotliSafeReadBits(br, n_bits, val); + } else { + *val = 0; + return 1; + } +} + +/* Precondition: s->distance_code < 0 */ +static BROTLI_INLINE int ReadDistanceInternal(int safe, + BrotliState* s, BrotliBitReader* br) { + int distval; + BrotliBitReaderState memento; + HuffmanCode* distance_tree = s->distance_hgroup.htrees[s->dist_htree_index]; + if (!safe) { + s->distance_code = (int)ReadSymbol(distance_tree, br); + } else { + uint32_t code; + BrotliBitReaderSaveState(br, &memento); + if (!SafeReadSymbol(distance_tree, br, &code)) { + return 0; + } + s->distance_code = (int)code; + } + /* Convert the distance code to the actual distance by possibly */ + /* looking up past distances from the s->ringbuffer. */ + if ((s->distance_code & ~0xf) == 0) { + TakeDistanceFromRingBuffer(s); + --s->block_length[2]; + return 1; + } + distval = s->distance_code - (int)s->num_direct_distance_codes; + if (distval >= 0) { + uint32_t nbits; + int postfix; + int offset; + if (!safe && (s->distance_postfix_bits == 0)) { + nbits = ((uint32_t)distval >> 1) + 1; + offset = ((2 + (distval & 1)) << nbits) - 4; + s->distance_code = (int)s->num_direct_distance_codes + + offset + (int)BrotliReadBits(br, nbits); + } else { + /* This branch also works well when s->distance_postfix_bits == 0 */ + uint32_t bits; + postfix = distval & s->distance_postfix_mask; + distval >>= s->distance_postfix_bits; + nbits = ((uint32_t)distval >> 1) + 1; + if (safe) { + if (!SafeReadBits(br, nbits, &bits)) { + s->distance_code = -1; /* Restore precondition. */ + BrotliBitReaderRestoreState(br, &memento); + return 0; + } + } else { + bits = BrotliReadBits(br, nbits); + } + offset = ((2 + (distval & 1)) << nbits) - 4; + s->distance_code = (int)s->num_direct_distance_codes + + ((offset + (int)bits) << s->distance_postfix_bits) + postfix; + } + } + s->distance_code = s->distance_code - NUM_DISTANCE_SHORT_CODES + 1; + --s->block_length[2]; + return 1; +} + +static BROTLI_INLINE void ReadDistance(BrotliState* s, BrotliBitReader* br) { + ReadDistanceInternal(0, s, br); +} + +static BROTLI_INLINE int SafeReadDistance(BrotliState* s, BrotliBitReader* br) { + return ReadDistanceInternal(1, s, br); +} + +static BROTLI_INLINE int ReadCommandInternal(int safe, + BrotliState* s, BrotliBitReader* br, int* insert_length) { + uint32_t cmd_code; + uint32_t insert_len_extra = 0; + uint32_t copy_length; + CmdLutElement v; + BrotliBitReaderState memento; + if (!safe) { + cmd_code = ReadSymbol(s->htree_command, br); + } else { + BrotliBitReaderSaveState(br, &memento); + if (!SafeReadSymbol(s->htree_command, br, &cmd_code)) { + return 0; + } + } + v = kCmdLut[cmd_code]; + s->distance_code = v.distance_code; + s->distance_context = v.context; + s->dist_htree_index = s->dist_context_map_slice[s->distance_context]; + *insert_length = v.insert_len_offset; + if (!safe) { + if (PREDICT_FALSE(v.insert_len_extra_bits != 0)) { + insert_len_extra = BrotliReadBits(br, v.insert_len_extra_bits); + } + copy_length = BrotliReadBits(br, v.copy_len_extra_bits); + } else { + if (!SafeReadBits(br, v.insert_len_extra_bits, &insert_len_extra) || + !SafeReadBits(br, v.copy_len_extra_bits, ©_length)) { + BrotliBitReaderRestoreState(br, &memento); + return 0; + } + } + s->copy_length = (int)copy_length + v.copy_len_offset; + --s->block_length[1]; + *insert_length += (int)insert_len_extra; + return 1; +} + +static BROTLI_INLINE void ReadCommand(BrotliState* s, BrotliBitReader* br, + int* insert_length) { + ReadCommandInternal(0, s, br, insert_length); +} + +static BROTLI_INLINE int SafeReadCommand(BrotliState* s, BrotliBitReader* br, + int* insert_length) { + return ReadCommandInternal(1, s, br, insert_length); +} + +static BROTLI_INLINE int WarmupBitReader(int safe, BrotliBitReader* const br) { + if (safe) { + return 1; + } + return BrotliWarmupBitReader(br); +} + +static BROTLI_INLINE int CheckInputAmount(int safe, + BrotliBitReader* const br, size_t num) { + if (safe) { + return 1; + } + return BrotliCheckInputAmount(br, num); +} + +#define BROTLI_SAFE(METHOD) { \ + if (safe) { \ + if (! Safe ## METHOD ) { \ + result = BROTLI_RESULT_NEEDS_MORE_INPUT; \ + goto saveStateAndReturn; \ + } \ + } else { \ + METHOD ; \ + } \ +} + +static BROTLI_INLINE BrotliResult ProcessCommandsInternal(int safe, + BrotliState* s) { + int pos = s->pos; + int i = s->loop_counter; + BrotliResult result = BROTLI_RESULT_SUCCESS; + BrotliBitReader* br = &s->br; + + if (!CheckInputAmount(safe, br, 28) || !WarmupBitReader(safe, br)) { + result = BROTLI_RESULT_NEEDS_MORE_INPUT; + goto saveStateAndReturn; + } + + /* Jump into state machine. */ + if (s->state == BROTLI_STATE_COMMAND_BEGIN) { + goto CommandBegin; + } else if (s->state == BROTLI_STATE_COMMAND_INNER) { + goto CommandInner; + } else if (s->state == BROTLI_STATE_COMMAND_POST_DECODE_LITERALS) { + goto CommandPostDecodeLiterals; + } else if (s->state == BROTLI_STATE_COMMAND_POST_WRAP_COPY) { + goto CommandPostWrapCopy; + } else { + return BROTLI_FAILURE(); + } + +CommandBegin: + if (safe) { + s->state = BROTLI_STATE_COMMAND_BEGIN; + } + if (!CheckInputAmount(safe, br, 28)) { /* 156 bits + 7 bytes */ + s->state = BROTLI_STATE_COMMAND_BEGIN; + result = BROTLI_RESULT_NEEDS_MORE_INPUT; + goto saveStateAndReturn; + } + if (PREDICT_FALSE(s->block_length[1] == 0)) { + BROTLI_SAFE(DecodeCommandBlockSwitch(s)); + goto CommandBegin; + } + /* Read the insert/copy length in the command */ + BROTLI_SAFE(ReadCommand(s, br, &i)); + BROTLI_LOG_UINT(i); + BROTLI_LOG_UINT(s->copy_length); + BROTLI_LOG_UINT(s->distance_code); + if (i == 0) { + goto CommandPostDecodeLiterals; + } + s->meta_block_remaining_len -= i; + +CommandInner: + if (safe) { + s->state = BROTLI_STATE_COMMAND_INNER; + } + /* Read the literals in the command */ + if (s->trivial_literal_context) { + uint32_t bits; + uint32_t value; + PreloadSymbol(safe, s->literal_htree, br, &bits, &value); + do { + if (!CheckInputAmount(safe, br, 28)) { /* 162 bits + 7 bytes */ + s->state = BROTLI_STATE_COMMAND_INNER; + result = BROTLI_RESULT_NEEDS_MORE_INPUT; + goto saveStateAndReturn; + } + if (PREDICT_FALSE(s->block_length[0] == 0)) { + BROTLI_SAFE(DecodeLiteralBlockSwitch(s)); + PreloadSymbol(safe, s->literal_htree, br, &bits, &value); + } + if (!safe) { + s->ringbuffer[pos] = (uint8_t)ReadPreloadedSymbol( + s->literal_htree, br, &bits, &value); + } else { + uint32_t literal; + if (!SafeReadSymbol(s->literal_htree, br, &literal)) { + result = BROTLI_RESULT_NEEDS_MORE_INPUT; + goto saveStateAndReturn; + } + s->ringbuffer[pos] = (uint8_t)literal; + } + --s->block_length[0]; + BROTLI_LOG_UINT(s->literal_htree_index); + BROTLI_LOG_ARRAY_INDEX(s->ringbuffer, pos); + ++pos; + if (PREDICT_FALSE(pos == s->ringbuffer_size)) { + s->state = BROTLI_STATE_COMMAND_INNER_WRITE; + --i; + goto saveStateAndReturn; + } + } while (--i != 0); + } else { + uint8_t p1 = s->ringbuffer[(pos - 1) & s->ringbuffer_mask]; + uint8_t p2 = s->ringbuffer[(pos - 2) & s->ringbuffer_mask]; + do { + const HuffmanCode* hc; + uint8_t context; + if (!CheckInputAmount(safe, br, 28)) { /* 162 bits + 7 bytes */ + s->state = BROTLI_STATE_COMMAND_INNER; + result = BROTLI_RESULT_NEEDS_MORE_INPUT; + goto saveStateAndReturn; + } + if (PREDICT_FALSE(s->block_length[0] == 0)) { + BROTLI_SAFE(DecodeLiteralBlockSwitch(s)); + } + context = s->context_lookup1[p1] | s->context_lookup2[p2]; + BROTLI_LOG_UINT(context); + hc = s->literal_hgroup.htrees[s->context_map_slice[context]]; + p2 = p1; + if (!safe) { + p1 = (uint8_t)ReadSymbol(hc, br); + } else { + uint32_t literal; + if (!SafeReadSymbol(hc, br, &literal)) { + result = BROTLI_RESULT_NEEDS_MORE_INPUT; + goto saveStateAndReturn; + } + p1 = (uint8_t)literal; + } + s->ringbuffer[pos] = p1; + --s->block_length[0]; + BROTLI_LOG_UINT(s->context_map_slice[context]); + BROTLI_LOG_ARRAY_INDEX(s->ringbuffer, pos & s->ringbuffer_mask); + ++pos; + if (PREDICT_FALSE(pos == s->ringbuffer_size)) { + s->state = BROTLI_STATE_COMMAND_INNER_WRITE; + --i; + goto saveStateAndReturn; + } + } while (--i != 0); + } + if (s->meta_block_remaining_len <= 0) { + s->state = BROTLI_STATE_METABLOCK_DONE; + goto saveStateAndReturn; + } + +CommandPostDecodeLiterals: + if (safe) { + s->state = BROTLI_STATE_COMMAND_POST_DECODE_LITERALS; + } + if (s->distance_code >= 0) { + --s->dist_rb_idx; + s->distance_code = s->dist_rb[s->dist_rb_idx & 3]; + goto postReadDistance; /* We already have the implicit distance */ + } + /* Read distance code in the command, unless it was implicitly zero. */ + if (PREDICT_FALSE(s->block_length[2] == 0)) { + BROTLI_SAFE(DecodeDistanceBlockSwitch(s)); + } + BROTLI_SAFE(ReadDistance(s, br)); +postReadDistance: + BROTLI_LOG_UINT(s->distance_code); + if (s->max_distance != s->max_backward_distance) { + if (pos < s->max_backward_distance_minus_custom_dict_size) { + s->max_distance = pos + s->custom_dict_size; + } else { + s->max_distance = s->max_backward_distance; + } + } + i = s->copy_length; + /* Apply copy of LZ77 back-reference, or static dictionary reference if + the distance is larger than the max LZ77 distance */ + if (s->distance_code > s->max_distance) { + if (i >= kBrotliMinDictionaryWordLength && + i <= kBrotliMaxDictionaryWordLength) { + int offset = kBrotliDictionaryOffsetsByLength[i]; + int word_id = s->distance_code - s->max_distance - 1; + uint32_t shift = kBrotliDictionarySizeBitsByLength[i]; + int mask = (int)BitMask(shift); + int word_idx = word_id & mask; + int transform_idx = word_id >> shift; + offset += word_idx * i; + if (transform_idx < kNumTransforms) { + const uint8_t* word = &kBrotliDictionary[offset]; + int len = i; + if (transform_idx == 0) { + memcpy(&s->ringbuffer[pos], word, (size_t)len); + } else { + len = TransformDictionaryWord( + &s->ringbuffer[pos], word, len, transform_idx); + } + pos += len; + s->meta_block_remaining_len -= len; + if (pos >= s->ringbuffer_size) { + /*s->partial_pos_rb += (size_t)s->ringbuffer_size;*/ + s->state = BROTLI_STATE_COMMAND_POST_WRITE_1; + goto saveStateAndReturn; + } + } else { + BROTLI_LOG(("Invalid backward reference. pos: %d distance: %d " + "len: %d bytes left: %d\n", + pos, s->distance_code, i, + s->meta_block_remaining_len)); + return BROTLI_FAILURE(); + } + } else { + BROTLI_LOG(("Invalid backward reference. pos: %d distance: %d " + "len: %d bytes left: %d\n", pos, s->distance_code, i, + s->meta_block_remaining_len)); + return BROTLI_FAILURE(); + } + } else { + const uint8_t *ringbuffer_end_minus_copy_length = + s->ringbuffer_end - i; + uint8_t* copy_src = &s->ringbuffer[ + (pos - s->distance_code) & s->ringbuffer_mask]; + uint8_t* copy_dst = &s->ringbuffer[pos]; + /* update the recent distances cache */ + s->dist_rb[s->dist_rb_idx & 3] = s->distance_code; + ++s->dist_rb_idx; + s->meta_block_remaining_len -= i; + if (PREDICT_FALSE(s->meta_block_remaining_len < 0)) { + BROTLI_LOG(("Invalid backward reference. pos: %d distance: %d " + "len: %d bytes left: %d\n", pos, s->distance_code, i, + s->meta_block_remaining_len)); + return BROTLI_FAILURE(); + } + /* There is 128+ bytes of slack in the ringbuffer allocation. + Also, we have 16 short codes, that make these 16 bytes irrelevant + in the ringbuffer. Let's copy over them as a first guess. + */ + memmove16(copy_dst, copy_src); + /* Now check if the copy extends over the ringbuffer end, + or if the copy overlaps with itself, if yes, do wrap-copy. */ + if (copy_src < copy_dst) { + if (copy_dst >= ringbuffer_end_minus_copy_length) { + goto CommandPostWrapCopy; + } + if (copy_src + i > copy_dst) { + goto postSelfintersecting; + } + } else { + if (copy_src >= ringbuffer_end_minus_copy_length) { + goto CommandPostWrapCopy; + } + if (copy_dst + i > copy_src) { + goto postSelfintersecting; + } + } + pos += i; + if (i > 16) { + if (i > 32) { + memcpy(copy_dst + 16, copy_src + 16, (size_t)(i - 16)); + } else { + /* This branch covers about 45% cases. + Fixed size short copy allows more compiler optimizations. */ + memmove16(copy_dst + 16, copy_src + 16); + } + } + } + if (s->meta_block_remaining_len <= 0) { + /* Next metablock, if any */ + s->state = BROTLI_STATE_METABLOCK_DONE; + goto saveStateAndReturn; + } else { + goto CommandBegin; + } +postSelfintersecting: + while (--i >= 0) { + s->ringbuffer[pos] = + s->ringbuffer[(pos - s->distance_code) & s->ringbuffer_mask]; + ++pos; + } + if (s->meta_block_remaining_len <= 0) { + /* Next metablock, if any */ + s->state = BROTLI_STATE_METABLOCK_DONE; + goto saveStateAndReturn; + } else { + goto CommandBegin; + } + +CommandPostWrapCopy: + s->state = BROTLI_STATE_COMMAND_POST_WRAP_COPY; + while (--i >= 0) { + s->ringbuffer[pos] = + s->ringbuffer[(pos - s->distance_code) & s->ringbuffer_mask]; + ++pos; + if (pos == s->ringbuffer_size) { + /*s->partial_pos_rb += (size_t)s->ringbuffer_size;*/ + s->state = BROTLI_STATE_COMMAND_POST_WRITE_2; + goto saveStateAndReturn; + } + } + if (s->meta_block_remaining_len <= 0) { + /* Next metablock, if any */ + s->state = BROTLI_STATE_METABLOCK_DONE; + goto saveStateAndReturn; + } else { + goto CommandBegin; + } + +saveStateAndReturn: + s->pos = pos; + s->loop_counter = i; + return result; +} + +#undef BROTLI_SAFE + +static BROTLI_NOINLINE BrotliResult ProcessCommands(BrotliState* s) { + return ProcessCommandsInternal(0, s); +} + +static BROTLI_NOINLINE BrotliResult SafeProcessCommands(BrotliState* s) { + return ProcessCommandsInternal(1, s); +} + +BrotliResult BrotliDecompressBuffer(size_t encoded_size, + const uint8_t* encoded_buffer, + size_t* decoded_size, + uint8_t* decoded_buffer) { + BrotliState s; + BrotliResult result; + size_t total_out = 0; + size_t available_in = encoded_size; + const uint8_t* next_in = encoded_buffer; + size_t available_out = *decoded_size; + uint8_t* next_out = decoded_buffer; + BrotliStateInit(&s); + result = BrotliDecompressStream(&available_in, &next_in, &available_out, + &next_out, &total_out, &s); + *decoded_size = total_out; + BrotliStateCleanup(&s); + if (result != BROTLI_RESULT_SUCCESS) { + result = BROTLI_RESULT_ERROR; + } + return result; +} + +BrotliResult BrotliDecompress(BrotliInput input, BrotliOutput output) { + BrotliState s; + BrotliResult result; + BrotliStateInit(&s); + result = BrotliDecompressStreaming(input, output, 1, &s); + if (result == BROTLI_RESULT_NEEDS_MORE_INPUT) { + /* Not ok: it didn't finish even though this is a non-streaming function. */ + result = BROTLI_FAILURE(); + } + BrotliStateCleanup(&s); + return result; +} + +BrotliResult BrotliDecompressBufferStreaming(size_t* available_in, + const uint8_t** next_in, + int finish, + size_t* available_out, + uint8_t** next_out, + size_t* total_out, + BrotliState* s) { + BrotliResult result = BrotliDecompressStream(available_in, next_in, + available_out, next_out, total_out, s); + if (finish && result == BROTLI_RESULT_NEEDS_MORE_INPUT) { + result = BROTLI_FAILURE(); + } + return result; +} + +BrotliResult BrotliDecompressStreaming(BrotliInput input, BrotliOutput output, + int finish, BrotliState* s) { + const size_t kBufferSize = 65536; + BrotliResult result; + uint8_t* input_buffer; + uint8_t* output_buffer; + size_t avail_in; + const uint8_t* next_in; + size_t total_out; + + if (s->legacy_input_buffer == 0) { + s->legacy_input_buffer = (uint8_t*)BROTLI_ALLOC(s, kBufferSize); + } + if (s->legacy_output_buffer == 0) { + s->legacy_output_buffer = (uint8_t*)BROTLI_ALLOC(s, kBufferSize); + } + if (s->legacy_input_buffer == 0 || s->legacy_output_buffer == 0) { + return BROTLI_FAILURE(); + } + input_buffer = s->legacy_input_buffer; + output_buffer = s->legacy_output_buffer; + + /* Push remaining output. */ + if (s->legacy_output_len > s->legacy_output_pos) { + size_t to_write = s->legacy_output_len - s->legacy_output_pos; + int num_written = BrotliWrite( + output, output_buffer + s->legacy_output_pos, to_write); + if (num_written < 0) { + return BROTLI_FAILURE(); + } + s->legacy_output_pos += (size_t)num_written; + if ((size_t)num_written < to_write) { + return BROTLI_RESULT_NEEDS_MORE_OUTPUT; + } + } + s->legacy_output_pos = 0; + + avail_in = s->legacy_input_len - s->legacy_input_pos; + next_in = input_buffer + s->legacy_input_pos; + + while (1) { + size_t to_write; + int num_written; + size_t avail_out = kBufferSize; + uint8_t* next_out = output_buffer; + result = BrotliDecompressStream(&avail_in, &next_in, + &avail_out, &next_out, &total_out, s); + s->legacy_input_pos = (size_t)(next_out - input_buffer); + to_write = (size_t)(next_out - output_buffer); + num_written = BrotliWrite(output, output_buffer, to_write); + if (num_written < 0) { + return BROTLI_FAILURE(); + } + if ((size_t)num_written < to_write) { + s->legacy_output_len = to_write; + s->legacy_output_pos = (size_t)num_written; + return BROTLI_RESULT_NEEDS_MORE_OUTPUT; + } + if (result == BROTLI_RESULT_NEEDS_MORE_INPUT) { + int num_read = BrotliRead(input, input_buffer, kBufferSize); + if (num_read < 0 || (num_read == 0 && finish)) { + return BROTLI_FAILURE(); + } + if (num_read == 0) { + s->legacy_input_len = 0; + s->legacy_input_pos = 0; + return BROTLI_RESULT_NEEDS_MORE_INPUT; + } + avail_in = (size_t)num_read; + next_in = input_buffer; + s->legacy_input_len = avail_in; + s->legacy_input_pos = 0; + } else if (result != BROTLI_RESULT_NEEDS_MORE_OUTPUT) { + /* Success or failure. */ + return result; + } + } +} + +/* Invariant: input stream is never overconsumed: + * invalid input implies that the whole stream is invalid -> any amount of + input could be read and discarded + * when result is "needs more input", then at leat one more byte is REQUIRED + to complete decoding; all input data MUST be consumed by decoder, so + client could swap the input buffer + * when result is "needs more output" decoder MUST ensure that it doesn't + hold more than 7 bits in bit reader; this saves client from swapping input + buffer ahead of time + * when result is "success" decoder MUST return all unused data back to input + buffer; this is possible because the invariant is hold on enter +*/ +BrotliResult BrotliDecompressStream(size_t* available_in, + const uint8_t** next_in, size_t* available_out, uint8_t** next_out, + size_t* total_out, BrotliState* s) { + BrotliResult result = BROTLI_RESULT_SUCCESS; + BrotliBitReader* br = &s->br; + if (s->buffer_length == 0) { /* Just connect bit reader to input stream. */ + br->avail_in = *available_in; + br->next_in = *next_in; + } else { + /* At least one byte of input is required. More than one byte of input may + be required to complete the transaction -> reading more data must be + done in a loop -> do it in a main loop. */ + result = BROTLI_RESULT_NEEDS_MORE_INPUT; + br->next_in = &s->buffer.u8[0]; + } + /* State machine */ + for (;;) { + if (result != BROTLI_RESULT_SUCCESS) { /* Error | needs more input/output */ + if (result == BROTLI_RESULT_NEEDS_MORE_INPUT) { + if (s->ringbuffer != 0) { /* Proactively push output. */ + WriteRingBuffer(available_out, next_out, total_out, s); + } + if (s->buffer_length != 0) { /* Used with internal buffer. */ + if (br->avail_in == 0) { /* Successfully finished read transaction. */ + /* Accamulator contains less than 8 bits, because internal buffer + is expanded byte-by-byte until it is enough to complete read. */ + s->buffer_length = 0; + /* Switch to input stream and restart. */ + result = BROTLI_RESULT_SUCCESS; + br->avail_in = *available_in; + br->next_in = *next_in; + continue; + } else if (*available_in != 0) { + /* Not enough data in buffer, but can take one more byte from + input stream. */ + result = BROTLI_RESULT_SUCCESS; + s->buffer.u8[s->buffer_length] = **next_in; + s->buffer_length++; + br->avail_in = s->buffer_length; + (*next_in)++; + (*available_in)--; + /* Retry with more data in buffer. */ + continue; + } + /* Can't finish reading and no more input.*/ + break; + } else { /* Input stream doesn't contain enough input. */ + /* Copy tail to internal buffer and return. */ + *next_in = br->next_in; + *available_in = br->avail_in; + while (*available_in) { + s->buffer.u8[s->buffer_length] = **next_in; + s->buffer_length++; + (*next_in)++; + (*available_in)--; + } + break; + } + /* Unreachable. */ + } + + /* Fail or needs more output. */ + + if (s->buffer_length != 0) { + /* Just consumed the buffered input and produced some output. Otherwise + it would result in "needs more input". Reset internal buffer.*/ + s->buffer_length = 0; + } else { + /* Using input stream in last iteration. When decoder switches to input + stream it has less than 8 bits in accamulator, so it is safe to + return unused accamulator bits there. */ + BrotliBitReaderUnload(br); + *available_in = br->avail_in; + *next_in = br->next_in; + } + break; + } + switch (s->state) { + case BROTLI_STATE_UNINITED: + /* Prepare to the first read. */ + if (!BrotliWarmupBitReader(br)) { + result = BROTLI_RESULT_NEEDS_MORE_INPUT; + break; + } + /* Decode window size. */ + s->window_bits = DecodeWindowBits(br); /* Reads 1..7 bits. */ + BROTLI_LOG_UINT(s->window_bits); + if (s->window_bits == 9) { + /* Value 9 is reserved for future use. */ + result = BROTLI_FAILURE(); + break; + } + s->max_backward_distance = (1 << s->window_bits) - 16; + s->max_backward_distance_minus_custom_dict_size = + s->max_backward_distance - s->custom_dict_size; + + /* Allocate memory for both block_type_trees and block_len_trees. */ + s->block_type_trees = (HuffmanCode*)BROTLI_ALLOC(s, + 6 * BROTLI_HUFFMAN_MAX_TABLE_SIZE * sizeof(HuffmanCode)); + if (s->block_type_trees == 0) { + result = BROTLI_FAILURE(); + break; + } + s->block_len_trees = s->block_type_trees + + 3 * BROTLI_HUFFMAN_MAX_TABLE_SIZE; + + s->state = BROTLI_STATE_METABLOCK_BEGIN; + /* No break, continue to next state */ + case BROTLI_STATE_METABLOCK_BEGIN: + BrotliStateMetablockBegin(s); + BROTLI_LOG_UINT(s->pos); + s->state = BROTLI_STATE_METABLOCK_HEADER; + /* No break, continue to next state */ + case BROTLI_STATE_METABLOCK_HEADER: + result = DecodeMetaBlockLength(s, br); /* Reads 2 - 31 bits. */ + if (result != BROTLI_RESULT_SUCCESS) { + break; + } + BROTLI_LOG_UINT(s->is_last_metablock); + BROTLI_LOG_UINT(s->meta_block_remaining_len); + BROTLI_LOG_UINT(s->is_metadata); + BROTLI_LOG_UINT(s->is_uncompressed); + if (s->is_metadata || s->is_uncompressed) { + if (!BrotliJumpToByteBoundary(br)) { + result = BROTLI_FAILURE(); + break; + } + } + if (s->is_metadata) { + s->state = BROTLI_STATE_METADATA; + break; + } + if (s->meta_block_remaining_len == 0) { + s->state = BROTLI_STATE_METABLOCK_DONE; + break; + } + if (!s->ringbuffer) { + if (!BrotliAllocateRingBuffer(s, br)) { + result = BROTLI_FAILURE(); + break; + } + } + if (s->is_uncompressed) { + s->state = BROTLI_STATE_UNCOMPRESSED; + break; + } + s->loop_counter = 0; + s->state = BROTLI_STATE_HUFFMAN_CODE_0; + break; + case BROTLI_STATE_UNCOMPRESSED: { + int bytes_copied = s->meta_block_remaining_len; + result = CopyUncompressedBlockToOutput( + available_out, next_out, total_out, s); + bytes_copied -= s->meta_block_remaining_len; + if (result != BROTLI_RESULT_SUCCESS) { + break; + } + s->state = BROTLI_STATE_METABLOCK_DONE; + break; + } + case BROTLI_STATE_METADATA: + for (; s->meta_block_remaining_len > 0; --s->meta_block_remaining_len) { + uint32_t bits; + /* Read one byte and ignore it. */ + if (!BrotliSafeReadBits(br, 8, &bits)) { + result = BROTLI_RESULT_NEEDS_MORE_INPUT; + break; + } + } + if (result == BROTLI_RESULT_SUCCESS) { + s->state = BROTLI_STATE_METABLOCK_DONE; + } + break; + case BROTLI_STATE_HUFFMAN_CODE_0: + if (s->loop_counter >= 3) { + s->state = BROTLI_STATE_METABLOCK_HEADER_2; + break; + } + /* Reads 1..11 bits. */ + result = DecodeVarLenUint8(s, br, &s->num_block_types[s->loop_counter]); + if (result != BROTLI_RESULT_SUCCESS) { + break; + } + s->num_block_types[s->loop_counter]++; + BROTLI_LOG_UINT(s->num_block_types[s->loop_counter]); + if (s->num_block_types[s->loop_counter] < 2) { + s->loop_counter++; + break; + } + s->state = BROTLI_STATE_HUFFMAN_CODE_1; + /* No break, continue to next state */ + case BROTLI_STATE_HUFFMAN_CODE_1: { + int tree_offset = s->loop_counter * BROTLI_HUFFMAN_MAX_TABLE_SIZE; + result = ReadHuffmanCode(s->num_block_types[s->loop_counter] + 2, + &s->block_type_trees[tree_offset], NULL, s); + if (result != BROTLI_RESULT_SUCCESS) break; + s->state = BROTLI_STATE_HUFFMAN_CODE_2; + /* No break, continue to next state */ + } + case BROTLI_STATE_HUFFMAN_CODE_2: { + int tree_offset = s->loop_counter * BROTLI_HUFFMAN_MAX_TABLE_SIZE; + result = ReadHuffmanCode(kNumBlockLengthCodes, + &s->block_len_trees[tree_offset], NULL, s); + if (result != BROTLI_RESULT_SUCCESS) break; + s->state = BROTLI_STATE_HUFFMAN_CODE_3; + /* No break, continue to next state */ + } + case BROTLI_STATE_HUFFMAN_CODE_3: { + int tree_offset = s->loop_counter * BROTLI_HUFFMAN_MAX_TABLE_SIZE; + if (!SafeReadBlockLength(s, &s->block_length[s->loop_counter], + &s->block_len_trees[tree_offset], br)) { + result = BROTLI_RESULT_NEEDS_MORE_INPUT; + break; + } + BROTLI_LOG_UINT(s->block_length[s->loop_counter]); + s->loop_counter++; + s->state = BROTLI_STATE_HUFFMAN_CODE_0; + break; + } + case BROTLI_STATE_METABLOCK_HEADER_2: { + uint32_t bits; + if (!BrotliSafeReadBits(br, 6, &bits)) { + result = BROTLI_RESULT_NEEDS_MORE_INPUT; + break; + } + s->distance_postfix_bits = bits & BitMask(2); + bits >>= 2; + s->num_direct_distance_codes = NUM_DISTANCE_SHORT_CODES + + (bits << s->distance_postfix_bits); + BROTLI_LOG_UINT(s->num_direct_distance_codes); + BROTLI_LOG_UINT(s->distance_postfix_bits); + s->distance_postfix_mask = (int)BitMask(s->distance_postfix_bits); + s->context_modes = + (uint8_t*)BROTLI_ALLOC(s, (size_t)s->num_block_types[0]); + if (s->context_modes == 0) { + result = BROTLI_FAILURE(); + break; + } + s->loop_counter = 0; + s->state = BROTLI_STATE_CONTEXT_MODES; + /* No break, continue to next state */ + } + case BROTLI_STATE_CONTEXT_MODES: + result = ReadContextModes(s); + if (result != BROTLI_RESULT_SUCCESS) { + break; + } + s->state = BROTLI_STATE_CONTEXT_MAP_1; + /* No break, continue to next state */ + case BROTLI_STATE_CONTEXT_MAP_1: { + uint32_t j; + result = DecodeContextMap(s->num_block_types[0] << kLiteralContextBits, + &s->num_literal_htrees, &s->context_map, s); + if (result != BROTLI_RESULT_SUCCESS) { + break; + } + s->trivial_literal_context = 1; + for (j = 0; j < s->num_block_types[0] << kLiteralContextBits; j++) { + if (s->context_map[j] != j >> kLiteralContextBits) { + s->trivial_literal_context = 0; + break; + } + } + s->state = BROTLI_STATE_CONTEXT_MAP_2; + /* No break, continue to next state */ + } + case BROTLI_STATE_CONTEXT_MAP_2: + { + uint32_t num_distance_codes = + s->num_direct_distance_codes + (48U << s->distance_postfix_bits); + result = DecodeContextMap( + s->num_block_types[2] << kDistanceContextBits, + &s->num_dist_htrees, &s->dist_context_map, s); + if (result != BROTLI_RESULT_SUCCESS) { + break; + } + BrotliHuffmanTreeGroupInit(s, &s->literal_hgroup, kNumLiteralCodes, + s->num_literal_htrees); + BrotliHuffmanTreeGroupInit(s, &s->insert_copy_hgroup, + kNumInsertAndCopyCodes, + s->num_block_types[1]); + BrotliHuffmanTreeGroupInit(s, &s->distance_hgroup, num_distance_codes, + s->num_dist_htrees); + if (s->literal_hgroup.codes == 0 || + s->insert_copy_hgroup.codes == 0 || + s->distance_hgroup.codes == 0) { + return BROTLI_FAILURE(); + } + } + s->loop_counter = 0; + s->state = BROTLI_STATE_TREE_GROUP; + /* No break, continue to next state */ + case BROTLI_STATE_TREE_GROUP: + { + HuffmanTreeGroup* hgroup = NULL; + switch (s->loop_counter) { + case 0: + hgroup = &s->literal_hgroup; + break; + case 1: + hgroup = &s->insert_copy_hgroup; + break; + case 2: + hgroup = &s->distance_hgroup; + break; + } + result = HuffmanTreeGroupDecode(hgroup, s); + } + if (result != BROTLI_RESULT_SUCCESS) break; + s->loop_counter++; + if (s->loop_counter >= 3) { + uint8_t context_mode = s->context_modes[s->block_type_rb[1]]; + s->context_map_slice = s->context_map; + s->dist_context_map_slice = s->dist_context_map; + s->context_lookup1 = + &kContextLookup[kContextLookupOffsets[context_mode]]; + s->context_lookup2 = + &kContextLookup[kContextLookupOffsets[context_mode + 1]]; + s->htree_command = s->insert_copy_hgroup.htrees[0]; + s->literal_htree = s->literal_hgroup.htrees[s->literal_htree_index]; + s->state = BROTLI_STATE_COMMAND_BEGIN; + } + break; + case BROTLI_STATE_COMMAND_BEGIN: + case BROTLI_STATE_COMMAND_INNER: + case BROTLI_STATE_COMMAND_POST_DECODE_LITERALS: + case BROTLI_STATE_COMMAND_POST_WRAP_COPY: + result = ProcessCommands(s); + if (result == BROTLI_RESULT_NEEDS_MORE_INPUT) { + result = SafeProcessCommands(s); + } + break; + case BROTLI_STATE_COMMAND_INNER_WRITE: + case BROTLI_STATE_COMMAND_POST_WRITE_1: + case BROTLI_STATE_COMMAND_POST_WRITE_2: + result = WriteRingBuffer(available_out, next_out, total_out, s); + if (result != BROTLI_RESULT_SUCCESS) { + break; + } + s->pos -= s->ringbuffer_size; + s->rb_roundtrips++; + s->max_distance = s->max_backward_distance; + if (s->state == BROTLI_STATE_COMMAND_POST_WRITE_1) { + memcpy(s->ringbuffer, s->ringbuffer_end, (size_t)s->pos); + if (s->meta_block_remaining_len <= 0) { + /* Next metablock, if any */ + s->state = BROTLI_STATE_METABLOCK_DONE; + } else { + s->state = BROTLI_STATE_COMMAND_BEGIN; + } + break; + } else if (s->state == BROTLI_STATE_COMMAND_POST_WRITE_2) { + s->state = BROTLI_STATE_COMMAND_POST_WRAP_COPY; + } else { /* BROTLI_STATE_COMMAND_INNER_WRITE */ + if (s->loop_counter == 0) { + if (s->meta_block_remaining_len <= 0) { + s->state = BROTLI_STATE_METABLOCK_DONE; + } else { + s->state = BROTLI_STATE_COMMAND_POST_DECODE_LITERALS; + } + break; + } + s->state = BROTLI_STATE_COMMAND_INNER; + } + break; + case BROTLI_STATE_METABLOCK_DONE: + BrotliStateCleanupAfterMetablock(s); + if (!s->is_last_metablock) { + s->state = BROTLI_STATE_METABLOCK_BEGIN; + break; + } + if (!BrotliJumpToByteBoundary(br)) { + result = BROTLI_FAILURE(); + } + if (s->buffer_length == 0) { + BrotliBitReaderUnload(br); + *available_in = br->avail_in; + *next_in = br->next_in; + } + s->state = BROTLI_STATE_DONE; + /* No break, continue to next state */ + case BROTLI_STATE_DONE: + if (s->ringbuffer != 0) { + result = WriteRingBuffer(available_out, next_out, total_out, s); + if (result != BROTLI_RESULT_SUCCESS) { + break; + } + } + return result; + } + } + return result; +} + +void BrotliSetCustomDictionary( + size_t size, const uint8_t* dict, BrotliState* s) { + s->custom_dict = dict; + s->custom_dict_size = (int) size; +} + + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/dec/decode.h b/dec/decode.h new file mode 100644 index 0000000..af3c0b5 --- /dev/null +++ b/dec/decode.h @@ -0,0 +1,166 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* API for Brotli decompression */ + +#ifndef BROTLI_DEC_DECODE_H_ +#define BROTLI_DEC_DECODE_H_ + +#include "./state.h" +#include "./streams.h" +#include "./types.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +typedef enum { + /* Decoding error, e.g. corrupt input or no memory */ + BROTLI_RESULT_ERROR = 0, + /* Successfully completely done */ + BROTLI_RESULT_SUCCESS = 1, + /* Partially done, but must be called again with more input */ + BROTLI_RESULT_NEEDS_MORE_INPUT = 2, + /* Partially done, but must be called again with more output */ + BROTLI_RESULT_NEEDS_MORE_OUTPUT = 3 +} BrotliResult; + +/* BROTLI_FAILURE macro unwraps to BROTLI_RESULT_ERROR in non-debug build. */ +/* In debug build it dumps file name, line and pretty function name. */ +#if defined(_MSC_VER) || !defined(BROTLI_DEBUG) +#define BROTLI_FAILURE() BROTLI_RESULT_ERROR +#else +#define BROTLI_FAILURE() \ + BrotliFailure(__FILE__, __LINE__, __PRETTY_FUNCTION__) +static inline BrotliResult BrotliFailure(const char *f, int l, const char *fn) { + fprintf(stderr, "ERROR at %s:%d (%s)\n", f, l, fn); + fflush(stderr); + return BROTLI_RESULT_ERROR; +} +#endif + +/* Creates the instance of BrotliState and initializes it. alloc_func and + free_func MUST be both zero or both non-zero. In the case they are both zero, + default memory allocators are used. opaque parameter is passed to alloc_func + and free_func when they are called. */ +BrotliState* BrotliCreateState( + brotli_alloc_func alloc_func, brotli_free_func free_func, void* opaque); + +/* Deinitializes and frees BrotliState instance. */ +void BrotliDestroyState(BrotliState* state); + +/* Sets *decoded_size to the decompressed size of the given encoded stream. */ +/* This function only works if the encoded buffer has a single meta block, */ +/* or if it has two meta-blocks, where the first is uncompressed and the */ +/* second is empty. */ +/* Returns 1 on success, 0 on failure. */ +int BrotliDecompressedSize(size_t encoded_size, + const uint8_t* encoded_buffer, + size_t* decoded_size); + +/* Decompresses the data in encoded_buffer into decoded_buffer, and sets */ +/* *decoded_size to the decompressed length. */ +BrotliResult BrotliDecompressBuffer(size_t encoded_size, + const uint8_t* encoded_buffer, + size_t* decoded_size, + uint8_t* decoded_buffer); + +/* Same as above, but uses the specified input and output callbacks instead */ +/* of reading from and writing to pre-allocated memory buffers. */ +/* DEPRECATED */ +BrotliResult BrotliDecompress(BrotliInput input, BrotliOutput output); + +/* Same as above, but supports the caller to call the decoder repeatedly with + partial data to support streaming. The state must be initialized with + BrotliStateInit and reused with every call for the same stream. + Return values: + 0: failure. + 1: success, and done. + 2: success so far, end not reached so should call again with more input. + The finish parameter is used as follows, for a series of calls with the + same state: + 0: Every call except the last one must be called with finish set to 0. The + last call may have finish set to either 0 or 1. Only if finish is 0, can + the function return 2. It may also return 0 or 1, in that case no more + calls (even with finish 1) may be made. + 1: Only the last call may have finish set to 1. It's ok to give empty input + if all input was already given to previous calls. It is also ok to have + only one single call in total, with finish 1, and with all input + available immediately. That matches the non-streaming case. If finish is + 1, the function can only return 0 or 1, never 2. After a finish, no more + calls may be done. + After everything is done, the state must be cleaned with BrotliStateCleanup + to free allocated resources. + The given BrotliOutput must always accept all output and make enough space, + it returning a smaller value than the amount of bytes to write always results + in an error. +*/ +/* DEPRECATED */ +BrotliResult BrotliDecompressStreaming(BrotliInput input, BrotliOutput output, + int finish, BrotliState* s); + +/* Same as above, but with memory buffers. + Must be called with an allocated input buffer in *next_in and an allocated + output buffer in *next_out. The values *available_in and *available_out + must specify the allocated size in *next_in and *next_out respectively. + The value *total_out must be 0 initially, and will be summed with the + amount of output bytes written after each call, so that at the end it + gives the complete decoded size. + After each call, *available_in will be decremented by the amount of input + bytes consumed, and the *next_in pointer will be incremented by that amount. + Similarly, *available_out will be decremented by the amount of output + bytes written, and the *next_out pointer will be incremented by that + amount. + + The input may be partial. With each next function call, *next_in and + *available_in must be updated to point to a next part of the compressed + input. The current implementation will always consume all input unless + an error occurs, so normally *available_in will always be 0 after + calling this function and the next adjacent part of input is desired. + + In the current implementation, the function requires that there is enough + output buffer size to write all currently processed input, so + *available_out must be large enough. Since the function updates *next_out + each time, as long as the output buffer is large enough you can keep + reusing this variable. It is also possible to update *next_out and + *available_out yourself before a next call, e.g. to point to a new larger + buffer. +*/ +/* DEPRECATED */ +BrotliResult BrotliDecompressBufferStreaming(size_t* available_in, + const uint8_t** next_in, + int finish, + size_t* available_out, + uint8_t** next_out, + size_t* total_out, + BrotliState* s); + +BrotliResult BrotliDecompressStream(size_t* available_in, + const uint8_t** next_in, + size_t* available_out, + uint8_t** next_out, + size_t* total_out, + BrotliState* s); + +/* Fills the new state with a dictionary for LZ77, warming up the ringbuffer, + e.g. for custom static dictionaries for data formats. + Not to be confused with the built-in transformable dictionary of Brotli. + The dictionary must exist in memory until decoding is done and is owned by + the caller. To use: + -initialize state with BrotliStateInit + -use BrotliSetCustomDictionary + -use BrotliDecompressBufferStreaming + -clean up with BrotliStateCleanup +*/ +void BrotliSetCustomDictionary( + size_t size, const uint8_t* dict, BrotliState* s); + + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_DEC_DECODE_H_ */ diff --git a/dec/dictionary.c b/dec/dictionary.c new file mode 100644 index 0000000..d87f277 --- /dev/null +++ b/dec/dictionary.c @@ -0,0 +1,9466 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +#include "./dictionary.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +/* In case of multiple definition linker error with dictionary.cc from the + encoder: include only one of enc/dictionary.cc or dec/dictionary.c in a + target using both enc and dec. */ +const uint8_t kBrotliDictionary[122784] = { + 0x74, 0x69, 0x6d, 0x65, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x69, 0x66, 0x65, 0x6c, + 0x65, 0x66, 0x74, 0x62, 0x61, 0x63, 0x6b, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x68, 0x6f, 0x77, 0x6f, 0x6e, 0x6c, 0x79, 0x73, 0x69, 0x74, + 0x65, 0x63, 0x69, 0x74, 0x79, 0x6f, 0x70, 0x65, 0x6e, 0x6a, 0x75, 0x73, 0x74, + 0x6c, 0x69, 0x6b, 0x65, 0x66, 0x72, 0x65, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x74, + 0x65, 0x78, 0x74, 0x79, 0x65, 0x61, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x62, 0x6f, + 0x64, 0x79, 0x6c, 0x6f, 0x76, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x62, 0x6f, 0x6f, + 0x6b, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x76, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x68, 0x65, 0x6c, 0x70, 0x68, 0x6f, 0x6d, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6d, + 0x6f, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x64, 0x6c, 0x6f, 0x6e, 0x67, 0x74, 0x68, + 0x65, 0x6d, 0x76, 0x69, 0x65, 0x77, 0x66, 0x69, 0x6e, 0x64, 0x70, 0x61, 0x67, + 0x65, 0x64, 0x61, 0x79, 0x73, 0x66, 0x75, 0x6c, 0x6c, 0x68, 0x65, 0x61, 0x64, + 0x74, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x63, 0x68, 0x61, 0x72, 0x65, 0x61, 0x66, + 0x72, 0x6f, 0x6d, 0x74, 0x72, 0x75, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x61, 0x62, + 0x6c, 0x65, 0x75, 0x70, 0x6f, 0x6e, 0x68, 0x69, 0x67, 0x68, 0x64, 0x61, 0x74, + 0x65, 0x6c, 0x61, 0x6e, 0x64, 0x6e, 0x65, 0x77, 0x73, 0x65, 0x76, 0x65, 0x6e, + 0x6e, 0x65, 0x78, 0x74, 0x63, 0x61, 0x73, 0x65, 0x62, 0x6f, 0x74, 0x68, 0x70, + 0x6f, 0x73, 0x74, 0x75, 0x73, 0x65, 0x64, 0x6d, 0x61, 0x64, 0x65, 0x68, 0x61, + 0x6e, 0x64, 0x68, 0x65, 0x72, 0x65, 0x77, 0x68, 0x61, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x62, 0x6c, 0x6f, 0x67, 0x73, 0x69, 0x7a, 0x65, + 0x62, 0x61, 0x73, 0x65, 0x68, 0x65, 0x6c, 0x64, 0x6d, 0x61, 0x6b, 0x65, 0x6d, + 0x61, 0x69, 0x6e, 0x75, 0x73, 0x65, 0x72, 0x27, 0x29, 0x20, 0x2b, 0x68, 0x6f, + 0x6c, 0x64, 0x65, 0x6e, 0x64, 0x73, 0x77, 0x69, 0x74, 0x68, 0x4e, 0x65, 0x77, + 0x73, 0x72, 0x65, 0x61, 0x64, 0x77, 0x65, 0x72, 0x65, 0x73, 0x69, 0x67, 0x6e, + 0x74, 0x61, 0x6b, 0x65, 0x68, 0x61, 0x76, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x73, + 0x65, 0x65, 0x6e, 0x63, 0x61, 0x6c, 0x6c, 0x70, 0x61, 0x74, 0x68, 0x77, 0x65, + 0x6c, 0x6c, 0x70, 0x6c, 0x75, 0x73, 0x6d, 0x65, 0x6e, 0x75, 0x66, 0x69, 0x6c, + 0x6d, 0x70, 0x61, 0x72, 0x74, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x68, 0x69, 0x73, + 0x6c, 0x69, 0x73, 0x74, 0x67, 0x6f, 0x6f, 0x64, 0x6e, 0x65, 0x65, 0x64, 0x77, + 0x61, 0x79, 0x73, 0x77, 0x65, 0x73, 0x74, 0x6a, 0x6f, 0x62, 0x73, 0x6d, 0x69, + 0x6e, 0x64, 0x61, 0x6c, 0x73, 0x6f, 0x6c, 0x6f, 0x67, 0x6f, 0x72, 0x69, 0x63, + 0x68, 0x75, 0x73, 0x65, 0x73, 0x6c, 0x61, 0x73, 0x74, 0x74, 0x65, 0x61, 0x6d, + 0x61, 0x72, 0x6d, 0x79, 0x66, 0x6f, 0x6f, 0x64, 0x6b, 0x69, 0x6e, 0x67, 0x77, + 0x69, 0x6c, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x77, 0x61, 0x72, 0x64, 0x62, 0x65, + 0x73, 0x74, 0x66, 0x69, 0x72, 0x65, 0x50, 0x61, 0x67, 0x65, 0x6b, 0x6e, 0x6f, + 0x77, 0x61, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x6e, 0x67, 0x6d, 0x6f, 0x76, 0x65, + 0x74, 0x68, 0x61, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x67, 0x69, 0x76, 0x65, 0x73, + 0x65, 0x6c, 0x66, 0x6e, 0x6f, 0x74, 0x65, 0x6d, 0x75, 0x63, 0x68, 0x66, 0x65, + 0x65, 0x64, 0x6d, 0x61, 0x6e, 0x79, 0x72, 0x6f, 0x63, 0x6b, 0x69, 0x63, 0x6f, + 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x6c, 0x6f, 0x6f, 0x6b, 0x68, 0x69, 0x64, 0x65, + 0x64, 0x69, 0x65, 0x64, 0x48, 0x6f, 0x6d, 0x65, 0x72, 0x75, 0x6c, 0x65, 0x68, + 0x6f, 0x73, 0x74, 0x61, 0x6a, 0x61, 0x78, 0x69, 0x6e, 0x66, 0x6f, 0x63, 0x6c, + 0x75, 0x62, 0x6c, 0x61, 0x77, 0x73, 0x6c, 0x65, 0x73, 0x73, 0x68, 0x61, 0x6c, + 0x66, 0x73, 0x6f, 0x6d, 0x65, 0x73, 0x75, 0x63, 0x68, 0x7a, 0x6f, 0x6e, 0x65, + 0x31, 0x30, 0x30, 0x25, 0x6f, 0x6e, 0x65, 0x73, 0x63, 0x61, 0x72, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x72, 0x61, 0x63, 0x65, 0x62, 0x6c, 0x75, 0x65, 0x66, 0x6f, + 0x75, 0x72, 0x77, 0x65, 0x65, 0x6b, 0x66, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x70, + 0x65, 0x67, 0x61, 0x76, 0x65, 0x68, 0x61, 0x72, 0x64, 0x6c, 0x6f, 0x73, 0x74, + 0x77, 0x68, 0x65, 0x6e, 0x70, 0x61, 0x72, 0x6b, 0x6b, 0x65, 0x70, 0x74, 0x70, + 0x61, 0x73, 0x73, 0x73, 0x68, 0x69, 0x70, 0x72, 0x6f, 0x6f, 0x6d, 0x48, 0x54, + 0x4d, 0x4c, 0x70, 0x6c, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x6f, 0x6e, + 0x65, 0x73, 0x61, 0x76, 0x65, 0x6b, 0x65, 0x65, 0x70, 0x66, 0x6c, 0x61, 0x67, + 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x6f, 0x6c, 0x64, 0x66, 0x69, 0x76, 0x65, 0x74, + 0x6f, 0x6f, 0x6b, 0x72, 0x61, 0x74, 0x65, 0x74, 0x6f, 0x77, 0x6e, 0x6a, 0x75, + 0x6d, 0x70, 0x74, 0x68, 0x75, 0x73, 0x64, 0x61, 0x72, 0x6b, 0x63, 0x61, 0x72, + 0x64, 0x66, 0x69, 0x6c, 0x65, 0x66, 0x65, 0x61, 0x72, 0x73, 0x74, 0x61, 0x79, + 0x6b, 0x69, 0x6c, 0x6c, 0x74, 0x68, 0x61, 0x74, 0x66, 0x61, 0x6c, 0x6c, 0x61, + 0x75, 0x74, 0x6f, 0x65, 0x76, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x74, 0x61, + 0x6c, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x65, 0x65, + 0x70, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x65, 0x73, 0x74, 0x74, 0x75, 0x72, 0x6e, + 0x62, 0x6f, 0x72, 0x6e, 0x62, 0x61, 0x6e, 0x64, 0x66, 0x65, 0x6c, 0x6c, 0x72, + 0x6f, 0x73, 0x65, 0x75, 0x72, 0x6c, 0x28, 0x73, 0x6b, 0x69, 0x6e, 0x72, 0x6f, + 0x6c, 0x65, 0x63, 0x6f, 0x6d, 0x65, 0x61, 0x63, 0x74, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x6d, 0x65, 0x65, 0x74, 0x67, 0x6f, 0x6c, 0x64, 0x2e, 0x6a, 0x70, 0x67, + 0x69, 0x74, 0x65, 0x6d, 0x76, 0x61, 0x72, 0x79, 0x66, 0x65, 0x6c, 0x74, 0x74, + 0x68, 0x65, 0x6e, 0x73, 0x65, 0x6e, 0x64, 0x64, 0x72, 0x6f, 0x70, 0x56, 0x69, + 0x65, 0x77, 0x63, 0x6f, 0x70, 0x79, 0x31, 0x2e, 0x30, 0x22, 0x3c, 0x2f, 0x61, + 0x3e, 0x73, 0x74, 0x6f, 0x70, 0x65, 0x6c, 0x73, 0x65, 0x6c, 0x69, 0x65, 0x73, + 0x74, 0x6f, 0x75, 0x72, 0x70, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x69, 0x66, 0x70, + 0x61, 0x73, 0x74, 0x63, 0x73, 0x73, 0x3f, 0x67, 0x72, 0x61, 0x79, 0x6d, 0x65, + 0x61, 0x6e, 0x26, 0x67, 0x74, 0x3b, 0x72, 0x69, 0x64, 0x65, 0x73, 0x68, 0x6f, + 0x74, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x61, 0x69, 0x64, 0x72, 0x6f, 0x61, 0x64, + 0x76, 0x61, 0x72, 0x20, 0x66, 0x65, 0x65, 0x6c, 0x6a, 0x6f, 0x68, 0x6e, 0x72, + 0x69, 0x63, 0x6b, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x61, 0x73, 0x74, 0x27, 0x55, + 0x41, 0x2d, 0x64, 0x65, 0x61, 0x64, 0x3c, 0x2f, 0x62, 0x3e, 0x70, 0x6f, 0x6f, + 0x72, 0x62, 0x69, 0x6c, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x55, 0x2e, 0x53, 0x2e, + 0x77, 0x6f, 0x6f, 0x64, 0x6d, 0x75, 0x73, 0x74, 0x32, 0x70, 0x78, 0x3b, 0x49, + 0x6e, 0x66, 0x6f, 0x72, 0x61, 0x6e, 0x6b, 0x77, 0x69, 0x64, 0x65, 0x77, 0x61, + 0x6e, 0x74, 0x77, 0x61, 0x6c, 0x6c, 0x6c, 0x65, 0x61, 0x64, 0x5b, 0x30, 0x5d, + 0x3b, 0x70, 0x61, 0x75, 0x6c, 0x77, 0x61, 0x76, 0x65, 0x73, 0x75, 0x72, 0x65, + 0x24, 0x28, 0x27, 0x23, 0x77, 0x61, 0x69, 0x74, 0x6d, 0x61, 0x73, 0x73, 0x61, + 0x72, 0x6d, 0x73, 0x67, 0x6f, 0x65, 0x73, 0x67, 0x61, 0x69, 0x6e, 0x6c, 0x61, + 0x6e, 0x67, 0x70, 0x61, 0x69, 0x64, 0x21, 0x2d, 0x2d, 0x20, 0x6c, 0x6f, 0x63, + 0x6b, 0x75, 0x6e, 0x69, 0x74, 0x72, 0x6f, 0x6f, 0x74, 0x77, 0x61, 0x6c, 0x6b, + 0x66, 0x69, 0x72, 0x6d, 0x77, 0x69, 0x66, 0x65, 0x78, 0x6d, 0x6c, 0x22, 0x73, + 0x6f, 0x6e, 0x67, 0x74, 0x65, 0x73, 0x74, 0x32, 0x30, 0x70, 0x78, 0x6b, 0x69, + 0x6e, 0x64, 0x72, 0x6f, 0x77, 0x73, 0x74, 0x6f, 0x6f, 0x6c, 0x66, 0x6f, 0x6e, + 0x74, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x61, 0x66, 0x65, 0x73, 0x74, 0x61, 0x72, + 0x6d, 0x61, 0x70, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, 0x61, 0x69, 0x6e, 0x66, + 0x6c, 0x6f, 0x77, 0x62, 0x61, 0x62, 0x79, 0x73, 0x70, 0x61, 0x6e, 0x73, 0x61, + 0x79, 0x73, 0x34, 0x70, 0x78, 0x3b, 0x36, 0x70, 0x78, 0x3b, 0x61, 0x72, 0x74, + 0x73, 0x66, 0x6f, 0x6f, 0x74, 0x72, 0x65, 0x61, 0x6c, 0x77, 0x69, 0x6b, 0x69, + 0x68, 0x65, 0x61, 0x74, 0x73, 0x74, 0x65, 0x70, 0x74, 0x72, 0x69, 0x70, 0x6f, + 0x72, 0x67, 0x2f, 0x6c, 0x61, 0x6b, 0x65, 0x77, 0x65, 0x61, 0x6b, 0x74, 0x6f, + 0x6c, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x63, 0x61, 0x73, 0x74, 0x66, 0x61, 0x6e, + 0x73, 0x62, 0x61, 0x6e, 0x6b, 0x76, 0x65, 0x72, 0x79, 0x72, 0x75, 0x6e, 0x73, + 0x6a, 0x75, 0x6c, 0x79, 0x74, 0x61, 0x73, 0x6b, 0x31, 0x70, 0x78, 0x3b, 0x67, + 0x6f, 0x61, 0x6c, 0x67, 0x72, 0x65, 0x77, 0x73, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x67, 0x65, 0x69, 0x64, 0x3d, 0x22, 0x73, 0x65, 0x74, 0x73, 0x35, 0x70, 0x78, + 0x3b, 0x2e, 0x6a, 0x73, 0x3f, 0x34, 0x30, 0x70, 0x78, 0x69, 0x66, 0x20, 0x28, + 0x73, 0x6f, 0x6f, 0x6e, 0x73, 0x65, 0x61, 0x74, 0x6e, 0x6f, 0x6e, 0x65, 0x74, + 0x75, 0x62, 0x65, 0x7a, 0x65, 0x72, 0x6f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x65, + 0x65, 0x64, 0x66, 0x61, 0x63, 0x74, 0x69, 0x6e, 0x74, 0x6f, 0x67, 0x69, 0x66, + 0x74, 0x68, 0x61, 0x72, 0x6d, 0x31, 0x38, 0x70, 0x78, 0x63, 0x61, 0x6d, 0x65, + 0x68, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x6c, 0x64, 0x7a, 0x6f, 0x6f, 0x6d, 0x76, + 0x6f, 0x69, 0x64, 0x65, 0x61, 0x73, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x66, 0x69, + 0x6c, 0x6c, 0x70, 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x69, 0x74, 0x63, 0x6f, 0x73, + 0x74, 0x33, 0x70, 0x78, 0x3b, 0x6a, 0x61, 0x63, 0x6b, 0x74, 0x61, 0x67, 0x73, + 0x62, 0x69, 0x74, 0x73, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x69, 0x74, 0x6b, + 0x6e, 0x65, 0x77, 0x6e, 0x65, 0x61, 0x72, 0x3c, 0x21, 0x2d, 0x2d, 0x67, 0x72, + 0x6f, 0x77, 0x4a, 0x53, 0x4f, 0x4e, 0x64, 0x75, 0x74, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x61, 0x6c, 0x65, 0x79, 0x6f, 0x75, 0x20, 0x6c, 0x6f, 0x74, 0x73, + 0x70, 0x61, 0x69, 0x6e, 0x6a, 0x61, 0x7a, 0x7a, 0x63, 0x6f, 0x6c, 0x64, 0x65, + 0x79, 0x65, 0x73, 0x66, 0x69, 0x73, 0x68, 0x77, 0x77, 0x77, 0x2e, 0x72, 0x69, + 0x73, 0x6b, 0x74, 0x61, 0x62, 0x73, 0x70, 0x72, 0x65, 0x76, 0x31, 0x30, 0x70, + 0x78, 0x72, 0x69, 0x73, 0x65, 0x32, 0x35, 0x70, 0x78, 0x42, 0x6c, 0x75, 0x65, + 0x64, 0x69, 0x6e, 0x67, 0x33, 0x30, 0x30, 0x2c, 0x62, 0x61, 0x6c, 0x6c, 0x66, + 0x6f, 0x72, 0x64, 0x65, 0x61, 0x72, 0x6e, 0x77, 0x69, 0x6c, 0x64, 0x62, 0x6f, + 0x78, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x6c, 0x61, 0x63, 0x6b, 0x76, 0x65, 0x72, + 0x73, 0x70, 0x61, 0x69, 0x72, 0x6a, 0x75, 0x6e, 0x65, 0x74, 0x65, 0x63, 0x68, + 0x69, 0x66, 0x28, 0x21, 0x70, 0x69, 0x63, 0x6b, 0x65, 0x76, 0x69, 0x6c, 0x24, + 0x28, 0x22, 0x23, 0x77, 0x61, 0x72, 0x6d, 0x6c, 0x6f, 0x72, 0x64, 0x64, 0x6f, + 0x65, 0x73, 0x70, 0x75, 0x6c, 0x6c, 0x2c, 0x30, 0x30, 0x30, 0x69, 0x64, 0x65, + 0x61, 0x64, 0x72, 0x61, 0x77, 0x68, 0x75, 0x67, 0x65, 0x73, 0x70, 0x6f, 0x74, + 0x66, 0x75, 0x6e, 0x64, 0x62, 0x75, 0x72, 0x6e, 0x68, 0x72, 0x65, 0x66, 0x63, + 0x65, 0x6c, 0x6c, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x68, 0x6f, + 0x75, 0x72, 0x6c, 0x6f, 0x73, 0x73, 0x66, 0x75, 0x65, 0x6c, 0x31, 0x32, 0x70, + 0x78, 0x73, 0x75, 0x69, 0x74, 0x64, 0x65, 0x61, 0x6c, 0x52, 0x53, 0x53, 0x22, + 0x61, 0x67, 0x65, 0x64, 0x67, 0x72, 0x65, 0x79, 0x47, 0x45, 0x54, 0x22, 0x65, + 0x61, 0x73, 0x65, 0x61, 0x69, 0x6d, 0x73, 0x67, 0x69, 0x72, 0x6c, 0x61, 0x69, + 0x64, 0x73, 0x38, 0x70, 0x78, 0x3b, 0x6e, 0x61, 0x76, 0x79, 0x67, 0x72, 0x69, + 0x64, 0x74, 0x69, 0x70, 0x73, 0x23, 0x39, 0x39, 0x39, 0x77, 0x61, 0x72, 0x73, + 0x6c, 0x61, 0x64, 0x79, 0x63, 0x61, 0x72, 0x73, 0x29, 0x3b, 0x20, 0x7d, 0x70, + 0x68, 0x70, 0x3f, 0x68, 0x65, 0x6c, 0x6c, 0x74, 0x61, 0x6c, 0x6c, 0x77, 0x68, + 0x6f, 0x6d, 0x7a, 0x68, 0x3a, 0xe5, 0x2a, 0x2f, 0x0d, 0x0a, 0x20, 0x31, 0x30, + 0x30, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x0a, 0x41, 0x37, 0x70, 0x78, 0x3b, + 0x70, 0x75, 0x73, 0x68, 0x63, 0x68, 0x61, 0x74, 0x30, 0x70, 0x78, 0x3b, 0x63, + 0x72, 0x65, 0x77, 0x2a, 0x2f, 0x3c, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x37, 0x35, + 0x70, 0x78, 0x66, 0x6c, 0x61, 0x74, 0x72, 0x61, 0x72, 0x65, 0x20, 0x26, 0x26, + 0x20, 0x74, 0x65, 0x6c, 0x6c, 0x63, 0x61, 0x6d, 0x70, 0x6f, 0x6e, 0x74, 0x6f, + 0x6c, 0x61, 0x69, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x73, 0x6b, 0x69, 0x70, 0x74, + 0x65, 0x6e, 0x74, 0x66, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x6c, 0x65, 0x67, 0x65, + 0x74, 0x73, 0x70, 0x6c, 0x6f, 0x74, 0x34, 0x30, 0x30, 0x2c, 0x0d, 0x0a, 0x0d, + 0x0a, 0x63, 0x6f, 0x6f, 0x6c, 0x66, 0x65, 0x65, 0x74, 0x2e, 0x70, 0x68, 0x70, + 0x3c, 0x62, 0x72, 0x3e, 0x65, 0x72, 0x69, 0x63, 0x6d, 0x6f, 0x73, 0x74, 0x67, + 0x75, 0x69, 0x64, 0x62, 0x65, 0x6c, 0x6c, 0x64, 0x65, 0x73, 0x63, 0x68, 0x61, + 0x69, 0x72, 0x6d, 0x61, 0x74, 0x68, 0x61, 0x74, 0x6f, 0x6d, 0x2f, 0x69, 0x6d, + 0x67, 0x26, 0x23, 0x38, 0x32, 0x6c, 0x75, 0x63, 0x6b, 0x63, 0x65, 0x6e, 0x74, + 0x30, 0x30, 0x30, 0x3b, 0x74, 0x69, 0x6e, 0x79, 0x67, 0x6f, 0x6e, 0x65, 0x68, + 0x74, 0x6d, 0x6c, 0x73, 0x65, 0x6c, 0x6c, 0x64, 0x72, 0x75, 0x67, 0x46, 0x52, + 0x45, 0x45, 0x6e, 0x6f, 0x64, 0x65, 0x6e, 0x69, 0x63, 0x6b, 0x3f, 0x69, 0x64, + 0x3d, 0x6c, 0x6f, 0x73, 0x65, 0x6e, 0x75, 0x6c, 0x6c, 0x76, 0x61, 0x73, 0x74, + 0x77, 0x69, 0x6e, 0x64, 0x52, 0x53, 0x53, 0x20, 0x77, 0x65, 0x61, 0x72, 0x72, + 0x65, 0x6c, 0x79, 0x62, 0x65, 0x65, 0x6e, 0x73, 0x61, 0x6d, 0x65, 0x64, 0x75, + 0x6b, 0x65, 0x6e, 0x61, 0x73, 0x61, 0x63, 0x61, 0x70, 0x65, 0x77, 0x69, 0x73, + 0x68, 0x67, 0x75, 0x6c, 0x66, 0x54, 0x32, 0x33, 0x3a, 0x68, 0x69, 0x74, 0x73, + 0x73, 0x6c, 0x6f, 0x74, 0x67, 0x61, 0x74, 0x65, 0x6b, 0x69, 0x63, 0x6b, 0x62, + 0x6c, 0x75, 0x72, 0x74, 0x68, 0x65, 0x79, 0x31, 0x35, 0x70, 0x78, 0x27, 0x27, + 0x29, 0x3b, 0x29, 0x3b, 0x22, 0x3e, 0x6d, 0x73, 0x69, 0x65, 0x77, 0x69, 0x6e, + 0x73, 0x62, 0x69, 0x72, 0x64, 0x73, 0x6f, 0x72, 0x74, 0x62, 0x65, 0x74, 0x61, + 0x73, 0x65, 0x65, 0x6b, 0x54, 0x31, 0x38, 0x3a, 0x6f, 0x72, 0x64, 0x73, 0x74, + 0x72, 0x65, 0x65, 0x6d, 0x61, 0x6c, 0x6c, 0x36, 0x30, 0x70, 0x78, 0x66, 0x61, + 0x72, 0x6d, 0xe2, 0x80, 0x99, 0x73, 0x62, 0x6f, 0x79, 0x73, 0x5b, 0x30, 0x5d, + 0x2e, 0x27, 0x29, 0x3b, 0x22, 0x50, 0x4f, 0x53, 0x54, 0x62, 0x65, 0x61, 0x72, + 0x6b, 0x69, 0x64, 0x73, 0x29, 0x3b, 0x7d, 0x7d, 0x6d, 0x61, 0x72, 0x79, 0x74, + 0x65, 0x6e, 0x64, 0x28, 0x55, 0x4b, 0x29, 0x71, 0x75, 0x61, 0x64, 0x7a, 0x68, + 0x3a, 0xe6, 0x2d, 0x73, 0x69, 0x7a, 0x2d, 0x2d, 0x2d, 0x2d, 0x70, 0x72, 0x6f, + 0x70, 0x27, 0x29, 0x3b, 0x0d, 0x6c, 0x69, 0x66, 0x74, 0x54, 0x31, 0x39, 0x3a, + 0x76, 0x69, 0x63, 0x65, 0x61, 0x6e, 0x64, 0x79, 0x64, 0x65, 0x62, 0x74, 0x3e, + 0x52, 0x53, 0x53, 0x70, 0x6f, 0x6f, 0x6c, 0x6e, 0x65, 0x63, 0x6b, 0x62, 0x6c, + 0x6f, 0x77, 0x54, 0x31, 0x36, 0x3a, 0x64, 0x6f, 0x6f, 0x72, 0x65, 0x76, 0x61, + 0x6c, 0x54, 0x31, 0x37, 0x3a, 0x6c, 0x65, 0x74, 0x73, 0x66, 0x61, 0x69, 0x6c, + 0x6f, 0x72, 0x61, 0x6c, 0x70, 0x6f, 0x6c, 0x6c, 0x6e, 0x6f, 0x76, 0x61, 0x63, + 0x6f, 0x6c, 0x73, 0x67, 0x65, 0x6e, 0x65, 0x20, 0xe2, 0x80, 0x94, 0x73, 0x6f, + 0x66, 0x74, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x69, 0x6c, 0x6c, 0x72, 0x6f, 0x73, + 0x73, 0x3c, 0x68, 0x33, 0x3e, 0x70, 0x6f, 0x75, 0x72, 0x66, 0x61, 0x64, 0x65, + 0x70, 0x69, 0x6e, 0x6b, 0x3c, 0x74, 0x72, 0x3e, 0x6d, 0x69, 0x6e, 0x69, 0x29, + 0x7c, 0x21, 0x28, 0x6d, 0x69, 0x6e, 0x65, 0x7a, 0x68, 0x3a, 0xe8, 0x62, 0x61, + 0x72, 0x73, 0x68, 0x65, 0x61, 0x72, 0x30, 0x30, 0x29, 0x3b, 0x6d, 0x69, 0x6c, + 0x6b, 0x20, 0x2d, 0x2d, 0x3e, 0x69, 0x72, 0x6f, 0x6e, 0x66, 0x72, 0x65, 0x64, + 0x64, 0x69, 0x73, 0x6b, 0x77, 0x65, 0x6e, 0x74, 0x73, 0x6f, 0x69, 0x6c, 0x70, + 0x75, 0x74, 0x73, 0x2f, 0x6a, 0x73, 0x2f, 0x68, 0x6f, 0x6c, 0x79, 0x54, 0x32, + 0x32, 0x3a, 0x49, 0x53, 0x42, 0x4e, 0x54, 0x32, 0x30, 0x3a, 0x61, 0x64, 0x61, + 0x6d, 0x73, 0x65, 0x65, 0x73, 0x3c, 0x68, 0x32, 0x3e, 0x6a, 0x73, 0x6f, 0x6e, + 0x27, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x74, 0x54, 0x32, 0x31, 0x3a, 0x20, + 0x52, 0x53, 0x53, 0x6c, 0x6f, 0x6f, 0x70, 0x61, 0x73, 0x69, 0x61, 0x6d, 0x6f, + 0x6f, 0x6e, 0x3c, 0x2f, 0x70, 0x3e, 0x73, 0x6f, 0x75, 0x6c, 0x4c, 0x49, 0x4e, + 0x45, 0x66, 0x6f, 0x72, 0x74, 0x63, 0x61, 0x72, 0x74, 0x54, 0x31, 0x34, 0x3a, + 0x3c, 0x68, 0x31, 0x3e, 0x38, 0x30, 0x70, 0x78, 0x21, 0x2d, 0x2d, 0x3c, 0x39, + 0x70, 0x78, 0x3b, 0x54, 0x30, 0x34, 0x3a, 0x6d, 0x69, 0x6b, 0x65, 0x3a, 0x34, + 0x36, 0x5a, 0x6e, 0x69, 0x63, 0x65, 0x69, 0x6e, 0x63, 0x68, 0x59, 0x6f, 0x72, + 0x6b, 0x72, 0x69, 0x63, 0x65, 0x7a, 0x68, 0x3a, 0xe4, 0x27, 0x29, 0x29, 0x3b, + 0x70, 0x75, 0x72, 0x65, 0x6d, 0x61, 0x67, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, + 0x6f, 0x6e, 0x65, 0x62, 0x6f, 0x6e, 0x64, 0x3a, 0x33, 0x37, 0x5a, 0x5f, 0x6f, + 0x66, 0x5f, 0x27, 0x5d, 0x29, 0x3b, 0x30, 0x30, 0x30, 0x2c, 0x7a, 0x68, 0x3a, + 0xe7, 0x74, 0x61, 0x6e, 0x6b, 0x79, 0x61, 0x72, 0x64, 0x62, 0x6f, 0x77, 0x6c, + 0x62, 0x75, 0x73, 0x68, 0x3a, 0x35, 0x36, 0x5a, 0x4a, 0x61, 0x76, 0x61, 0x33, + 0x30, 0x70, 0x78, 0x0a, 0x7c, 0x7d, 0x0a, 0x25, 0x43, 0x33, 0x25, 0x3a, 0x33, + 0x34, 0x5a, 0x6a, 0x65, 0x66, 0x66, 0x45, 0x58, 0x50, 0x49, 0x63, 0x61, 0x73, + 0x68, 0x76, 0x69, 0x73, 0x61, 0x67, 0x6f, 0x6c, 0x66, 0x73, 0x6e, 0x6f, 0x77, + 0x7a, 0x68, 0x3a, 0xe9, 0x71, 0x75, 0x65, 0x72, 0x2e, 0x63, 0x73, 0x73, 0x73, + 0x69, 0x63, 0x6b, 0x6d, 0x65, 0x61, 0x74, 0x6d, 0x69, 0x6e, 0x2e, 0x62, 0x69, + 0x6e, 0x64, 0x64, 0x65, 0x6c, 0x6c, 0x68, 0x69, 0x72, 0x65, 0x70, 0x69, 0x63, + 0x73, 0x72, 0x65, 0x6e, 0x74, 0x3a, 0x33, 0x36, 0x5a, 0x48, 0x54, 0x54, 0x50, + 0x2d, 0x32, 0x30, 0x31, 0x66, 0x6f, 0x74, 0x6f, 0x77, 0x6f, 0x6c, 0x66, 0x45, + 0x4e, 0x44, 0x20, 0x78, 0x62, 0x6f, 0x78, 0x3a, 0x35, 0x34, 0x5a, 0x42, 0x4f, + 0x44, 0x59, 0x64, 0x69, 0x63, 0x6b, 0x3b, 0x0a, 0x7d, 0x0a, 0x65, 0x78, 0x69, + 0x74, 0x3a, 0x33, 0x35, 0x5a, 0x76, 0x61, 0x72, 0x73, 0x62, 0x65, 0x61, 0x74, + 0x27, 0x7d, 0x29, 0x3b, 0x64, 0x69, 0x65, 0x74, 0x39, 0x39, 0x39, 0x3b, 0x61, + 0x6e, 0x6e, 0x65, 0x7d, 0x7d, 0x3c, 0x2f, 0x5b, 0x69, 0x5d, 0x2e, 0x4c, 0x61, + 0x6e, 0x67, 0x6b, 0x6d, 0xc2, 0xb2, 0x77, 0x69, 0x72, 0x65, 0x74, 0x6f, 0x79, + 0x73, 0x61, 0x64, 0x64, 0x73, 0x73, 0x65, 0x61, 0x6c, 0x61, 0x6c, 0x65, 0x78, + 0x3b, 0x0a, 0x09, 0x7d, 0x65, 0x63, 0x68, 0x6f, 0x6e, 0x69, 0x6e, 0x65, 0x2e, + 0x6f, 0x72, 0x67, 0x30, 0x30, 0x35, 0x29, 0x74, 0x6f, 0x6e, 0x79, 0x6a, 0x65, + 0x77, 0x73, 0x73, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x67, 0x73, 0x72, 0x6f, 0x6f, + 0x66, 0x30, 0x30, 0x30, 0x29, 0x20, 0x32, 0x30, 0x30, 0x77, 0x69, 0x6e, 0x65, + 0x67, 0x65, 0x61, 0x72, 0x64, 0x6f, 0x67, 0x73, 0x62, 0x6f, 0x6f, 0x74, 0x67, + 0x61, 0x72, 0x79, 0x63, 0x75, 0x74, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x74, 0x65, + 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x6d, 0x6c, 0x63, 0x6f, 0x63, + 0x6b, 0x67, 0x61, 0x6e, 0x67, 0x24, 0x28, 0x27, 0x2e, 0x35, 0x30, 0x70, 0x78, + 0x50, 0x68, 0x2e, 0x44, 0x6d, 0x69, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x6e, 0x6c, + 0x6f, 0x61, 0x6e, 0x64, 0x65, 0x73, 0x6b, 0x6d, 0x69, 0x6c, 0x65, 0x72, 0x79, + 0x61, 0x6e, 0x75, 0x6e, 0x69, 0x78, 0x64, 0x69, 0x73, 0x63, 0x29, 0x3b, 0x7d, + 0x0a, 0x64, 0x75, 0x73, 0x74, 0x63, 0x6c, 0x69, 0x70, 0x29, 0x2e, 0x0a, 0x0a, + 0x37, 0x30, 0x70, 0x78, 0x2d, 0x32, 0x30, 0x30, 0x44, 0x56, 0x44, 0x73, 0x37, + 0x5d, 0x3e, 0x3c, 0x74, 0x61, 0x70, 0x65, 0x64, 0x65, 0x6d, 0x6f, 0x69, 0x2b, + 0x2b, 0x29, 0x77, 0x61, 0x67, 0x65, 0x65, 0x75, 0x72, 0x6f, 0x70, 0x68, 0x69, + 0x6c, 0x6f, 0x70, 0x74, 0x73, 0x68, 0x6f, 0x6c, 0x65, 0x46, 0x41, 0x51, 0x73, + 0x61, 0x73, 0x69, 0x6e, 0x2d, 0x32, 0x36, 0x54, 0x6c, 0x61, 0x62, 0x73, 0x70, + 0x65, 0x74, 0x73, 0x55, 0x52, 0x4c, 0x20, 0x62, 0x75, 0x6c, 0x6b, 0x63, 0x6f, + 0x6f, 0x6b, 0x3b, 0x7d, 0x0d, 0x0a, 0x48, 0x45, 0x41, 0x44, 0x5b, 0x30, 0x5d, + 0x29, 0x61, 0x62, 0x62, 0x72, 0x6a, 0x75, 0x61, 0x6e, 0x28, 0x31, 0x39, 0x38, + 0x6c, 0x65, 0x73, 0x68, 0x74, 0x77, 0x69, 0x6e, 0x3c, 0x2f, 0x69, 0x3e, 0x73, + 0x6f, 0x6e, 0x79, 0x67, 0x75, 0x79, 0x73, 0x66, 0x75, 0x63, 0x6b, 0x70, 0x69, + 0x70, 0x65, 0x7c, 0x2d, 0x0a, 0x21, 0x30, 0x30, 0x32, 0x29, 0x6e, 0x64, 0x6f, + 0x77, 0x5b, 0x31, 0x5d, 0x3b, 0x5b, 0x5d, 0x3b, 0x0a, 0x4c, 0x6f, 0x67, 0x20, + 0x73, 0x61, 0x6c, 0x74, 0x0d, 0x0a, 0x09, 0x09, 0x62, 0x61, 0x6e, 0x67, 0x74, + 0x72, 0x69, 0x6d, 0x62, 0x61, 0x74, 0x68, 0x29, 0x7b, 0x0d, 0x0a, 0x30, 0x30, + 0x70, 0x78, 0x0a, 0x7d, 0x29, 0x3b, 0x6b, 0x6f, 0x3a, 0xec, 0x66, 0x65, 0x65, + 0x73, 0x61, 0x64, 0x3e, 0x0d, 0x73, 0x3a, 0x2f, 0x2f, 0x20, 0x5b, 0x5d, 0x3b, + 0x74, 0x6f, 0x6c, 0x6c, 0x70, 0x6c, 0x75, 0x67, 0x28, 0x29, 0x7b, 0x0a, 0x7b, + 0x0d, 0x0a, 0x20, 0x2e, 0x6a, 0x73, 0x27, 0x32, 0x30, 0x30, 0x70, 0x64, 0x75, + 0x61, 0x6c, 0x62, 0x6f, 0x61, 0x74, 0x2e, 0x4a, 0x50, 0x47, 0x29, 0x3b, 0x0a, + 0x7d, 0x71, 0x75, 0x6f, 0x74, 0x29, 0x3b, 0x0a, 0x0a, 0x27, 0x29, 0x3b, 0x0a, + 0x0d, 0x0a, 0x7d, 0x0d, 0x32, 0x30, 0x31, 0x34, 0x32, 0x30, 0x31, 0x35, 0x32, + 0x30, 0x31, 0x36, 0x32, 0x30, 0x31, 0x37, 0x32, 0x30, 0x31, 0x38, 0x32, 0x30, + 0x31, 0x39, 0x32, 0x30, 0x32, 0x30, 0x32, 0x30, 0x32, 0x31, 0x32, 0x30, 0x32, + 0x32, 0x32, 0x30, 0x32, 0x33, 0x32, 0x30, 0x32, 0x34, 0x32, 0x30, 0x32, 0x35, + 0x32, 0x30, 0x32, 0x36, 0x32, 0x30, 0x32, 0x37, 0x32, 0x30, 0x32, 0x38, 0x32, + 0x30, 0x32, 0x39, 0x32, 0x30, 0x33, 0x30, 0x32, 0x30, 0x33, 0x31, 0x32, 0x30, + 0x33, 0x32, 0x32, 0x30, 0x33, 0x33, 0x32, 0x30, 0x33, 0x34, 0x32, 0x30, 0x33, + 0x35, 0x32, 0x30, 0x33, 0x36, 0x32, 0x30, 0x33, 0x37, 0x32, 0x30, 0x31, 0x33, + 0x32, 0x30, 0x31, 0x32, 0x32, 0x30, 0x31, 0x31, 0x32, 0x30, 0x31, 0x30, 0x32, + 0x30, 0x30, 0x39, 0x32, 0x30, 0x30, 0x38, 0x32, 0x30, 0x30, 0x37, 0x32, 0x30, + 0x30, 0x36, 0x32, 0x30, 0x30, 0x35, 0x32, 0x30, 0x30, 0x34, 0x32, 0x30, 0x30, + 0x33, 0x32, 0x30, 0x30, 0x32, 0x32, 0x30, 0x30, 0x31, 0x32, 0x30, 0x30, 0x30, + 0x31, 0x39, 0x39, 0x39, 0x31, 0x39, 0x39, 0x38, 0x31, 0x39, 0x39, 0x37, 0x31, + 0x39, 0x39, 0x36, 0x31, 0x39, 0x39, 0x35, 0x31, 0x39, 0x39, 0x34, 0x31, 0x39, + 0x39, 0x33, 0x31, 0x39, 0x39, 0x32, 0x31, 0x39, 0x39, 0x31, 0x31, 0x39, 0x39, + 0x30, 0x31, 0x39, 0x38, 0x39, 0x31, 0x39, 0x38, 0x38, 0x31, 0x39, 0x38, 0x37, + 0x31, 0x39, 0x38, 0x36, 0x31, 0x39, 0x38, 0x35, 0x31, 0x39, 0x38, 0x34, 0x31, + 0x39, 0x38, 0x33, 0x31, 0x39, 0x38, 0x32, 0x31, 0x39, 0x38, 0x31, 0x31, 0x39, + 0x38, 0x30, 0x31, 0x39, 0x37, 0x39, 0x31, 0x39, 0x37, 0x38, 0x31, 0x39, 0x37, + 0x37, 0x31, 0x39, 0x37, 0x36, 0x31, 0x39, 0x37, 0x35, 0x31, 0x39, 0x37, 0x34, + 0x31, 0x39, 0x37, 0x33, 0x31, 0x39, 0x37, 0x32, 0x31, 0x39, 0x37, 0x31, 0x31, + 0x39, 0x37, 0x30, 0x31, 0x39, 0x36, 0x39, 0x31, 0x39, 0x36, 0x38, 0x31, 0x39, + 0x36, 0x37, 0x31, 0x39, 0x36, 0x36, 0x31, 0x39, 0x36, 0x35, 0x31, 0x39, 0x36, + 0x34, 0x31, 0x39, 0x36, 0x33, 0x31, 0x39, 0x36, 0x32, 0x31, 0x39, 0x36, 0x31, + 0x31, 0x39, 0x36, 0x30, 0x31, 0x39, 0x35, 0x39, 0x31, 0x39, 0x35, 0x38, 0x31, + 0x39, 0x35, 0x37, 0x31, 0x39, 0x35, 0x36, 0x31, 0x39, 0x35, 0x35, 0x31, 0x39, + 0x35, 0x34, 0x31, 0x39, 0x35, 0x33, 0x31, 0x39, 0x35, 0x32, 0x31, 0x39, 0x35, + 0x31, 0x31, 0x39, 0x35, 0x30, 0x31, 0x30, 0x30, 0x30, 0x31, 0x30, 0x32, 0x34, + 0x31, 0x33, 0x39, 0x34, 0x30, 0x30, 0x30, 0x30, 0x39, 0x39, 0x39, 0x39, 0x63, + 0x6f, 0x6d, 0x6f, 0x6d, 0xc3, 0xa1, 0x73, 0x65, 0x73, 0x74, 0x65, 0x65, 0x73, + 0x74, 0x61, 0x70, 0x65, 0x72, 0x6f, 0x74, 0x6f, 0x64, 0x6f, 0x68, 0x61, 0x63, + 0x65, 0x63, 0x61, 0x64, 0x61, 0x61, 0xc3, 0xb1, 0x6f, 0x62, 0x69, 0x65, 0x6e, + 0x64, 0xc3, 0xad, 0x61, 0x61, 0x73, 0xc3, 0xad, 0x76, 0x69, 0x64, 0x61, 0x63, + 0x61, 0x73, 0x6f, 0x6f, 0x74, 0x72, 0x6f, 0x66, 0x6f, 0x72, 0x6f, 0x73, 0x6f, + 0x6c, 0x6f, 0x6f, 0x74, 0x72, 0x61, 0x63, 0x75, 0x61, 0x6c, 0x64, 0x69, 0x6a, + 0x6f, 0x73, 0x69, 0x64, 0x6f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x69, 0x70, 0x6f, + 0x74, 0x65, 0x6d, 0x61, 0x64, 0x65, 0x62, 0x65, 0x61, 0x6c, 0x67, 0x6f, 0x71, + 0x75, 0xc3, 0xa9, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x61, 0x64, 0x61, 0x74, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x63, 0x6f, 0x63, 0x61, 0x73, 0x61, 0x62, 0x61, 0x6a, + 0x6f, 0x74, 0x6f, 0x64, 0x61, 0x73, 0x69, 0x6e, 0x6f, 0x61, 0x67, 0x75, 0x61, + 0x70, 0x75, 0x65, 0x73, 0x75, 0x6e, 0x6f, 0x73, 0x61, 0x6e, 0x74, 0x65, 0x64, + 0x69, 0x63, 0x65, 0x6c, 0x75, 0x69, 0x73, 0x65, 0x6c, 0x6c, 0x61, 0x6d, 0x61, + 0x79, 0x6f, 0x7a, 0x6f, 0x6e, 0x61, 0x61, 0x6d, 0x6f, 0x72, 0x70, 0x69, 0x73, + 0x6f, 0x6f, 0x62, 0x72, 0x61, 0x63, 0x6c, 0x69, 0x63, 0x65, 0x6c, 0x6c, 0x6f, + 0x64, 0x69, 0x6f, 0x73, 0x68, 0x6f, 0x72, 0x61, 0x63, 0x61, 0x73, 0x69, 0xd0, + 0xb7, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xbe, 0xd0, 0xbc, 0xd1, 0x80, + 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x83, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, + 0xb5, 0xd0, 0xbf, 0xd0, 0xbe, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xb7, + 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, + 0xb6, 0xd0, 0xb5, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x85, 0xd0, 0x9d, + 0xd0, 0xb0, 0xd0, 0xb5, 0xd0, 0xb5, 0xd0, 0xb1, 0xd1, 0x8b, 0xd0, 0xbc, 0xd1, + 0x8b, 0xd0, 0x92, 0xd1, 0x8b, 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xb2, 0xd1, 0x8b, + 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0x9d, 0xd0, 0xbe, 0xd0, 0xbe, 0xd0, 0xb1, 0xd0, + 0x9f, 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xb8, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xa0, + 0xd0, 0xa4, 0xd0, 0x9d, 0xd0, 0xb5, 0xd0, 0x9c, 0xd1, 0x8b, 0xd1, 0x82, 0xd1, + 0x8b, 0xd0, 0x9e, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, 0xb4, 0xd0, 0xb0, + 0xd0, 0x97, 0xd0, 0xb0, 0xd0, 0x94, 0xd0, 0xb0, 0xd0, 0x9d, 0xd1, 0x83, 0xd0, + 0x9e, 0xd0, 0xb1, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0x98, 0xd0, 0xb7, 0xd0, 0xb5, + 0xd0, 0xb9, 0xd0, 0xbd, 0xd1, 0x83, 0xd0, 0xbc, 0xd0, 0xbc, 0xd0, 0xa2, 0xd1, + 0x8b, 0xd1, 0x83, 0xd0, 0xb6, 0xd9, 0x81, 0xd9, 0x8a, 0xd8, 0xa3, 0xd9, 0x86, + 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xb9, 0xd9, 0x83, 0xd9, 0x84, 0xd8, + 0xa3, 0xd9, 0x88, 0xd8, 0xb1, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x81, + 0xd9, 0x89, 0xd9, 0x87, 0xd9, 0x88, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x84, 0xd9, + 0x83, 0xd8, 0xa7, 0xd9, 0x88, 0xd9, 0x84, 0xd9, 0x87, 0xd8, 0xa8, 0xd8, 0xb3, + 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa5, 0xd9, 0x86, 0xd9, 0x87, 0xd9, 0x8a, 0xd8, + 0xa3, 0xd9, 0x8a, 0xd9, 0x82, 0xd8, 0xaf, 0xd9, 0x87, 0xd9, 0x84, 0xd8, 0xab, + 0xd9, 0x85, 0xd8, 0xa8, 0xd9, 0x87, 0xd9, 0x84, 0xd9, 0x88, 0xd9, 0x84, 0xd9, + 0x8a, 0xd8, 0xa8, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x8a, 0xd8, 0xa8, 0xd9, 0x83, + 0xd8, 0xb4, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xa3, 0xd9, 0x85, 0xd9, + 0x86, 0xd8, 0xaa, 0xd8, 0xa8, 0xd9, 0x8a, 0xd9, 0x84, 0xd9, 0x86, 0xd8, 0xad, + 0xd8, 0xa8, 0xd9, 0x87, 0xd9, 0x85, 0xd9, 0x85, 0xd8, 0xb4, 0xd9, 0x88, 0xd8, + 0xb4, 0x66, 0x69, 0x72, 0x73, 0x74, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x6c, 0x69, + 0x67, 0x68, 0x74, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x6d, 0x65, 0x64, 0x69, 0x61, + 0x77, 0x68, 0x69, 0x74, 0x65, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x62, 0x6c, 0x61, + 0x63, 0x6b, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x62, + 0x6f, 0x6f, 0x6b, 0x73, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x75, 0x73, 0x69, + 0x63, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x68, 0x6f, 0x75, + 0x73, 0x65, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x79, + 0x65, 0x61, 0x72, 0x73, 0x73, 0x74, 0x61, 0x74, 0x65, 0x74, 0x6f, 0x64, 0x61, + 0x79, 0x77, 0x61, 0x74, 0x65, 0x72, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x64, 0x65, 0x61, 0x74, 0x68, 0x70, 0x6f, 0x77, 0x65, 0x72, + 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x74, + 0x65, 0x72, 0x6d, 0x73, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x74, 0x6f, 0x6f, 0x6c, + 0x73, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x77, 0x6f, 0x72, 0x64, 0x73, + 0x67, 0x61, 0x6d, 0x65, 0x73, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x67, 0x75, 0x69, 0x64, + 0x65, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x77, 0x6f, + 0x6d, 0x65, 0x6e, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x6d, 0x6f, 0x6e, 0x65, 0x79, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x79, 0x6f, 0x75, + 0x6e, 0x67, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x66, 0x72, 0x6f, 0x6e, + 0x74, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x77, 0x61, 0x74, 0x63, 0x68, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x70, 0x72, 0x69, 0x63, 0x65, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x62, 0x65, 0x67, 0x69, 0x6e, 0x61, 0x66, 0x74, 0x65, 0x72, 0x76, 0x69, 0x73, + 0x69, 0x74, 0x69, 0x73, 0x73, 0x75, 0x65, 0x61, 0x72, 0x65, 0x61, 0x73, 0x62, + 0x65, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x70, 0x72, 0x65, 0x73, 0x73, 0x62, 0x75, 0x69, 0x6c, 0x74, + 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x73, 0x70, 0x65, 0x65, 0x64, 0x73, 0x74, 0x75, + 0x64, 0x79, 0x74, 0x72, 0x61, 0x64, 0x65, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x73, + 0x65, 0x6e, 0x73, 0x65, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x68, 0x6f, 0x77, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x61, 0x64, + 0x64, 0x65, 0x64, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x6d, 0x6f, 0x76, 0x65, 0x64, + 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x66, 0x6c, 0x61, + 0x73, 0x68, 0x66, 0x69, 0x78, 0x65, 0x64, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x73, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x72, 0x69, 0x76, 0x65, 0x72, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x73, 0x68, 0x61, 0x70, 0x65, + 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x65, 0x78, 0x69, 0x73, 0x74, 0x67, 0x6f, 0x69, + 0x6e, 0x67, 0x6d, 0x6f, 0x76, 0x69, 0x65, 0x74, 0x68, 0x69, 0x72, 0x64, 0x62, + 0x61, 0x73, 0x69, 0x63, 0x70, 0x65, 0x61, 0x63, 0x65, 0x73, 0x74, 0x61, 0x67, + 0x65, 0x77, 0x69, 0x64, 0x74, 0x68, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x69, 0x64, + 0x65, 0x61, 0x73, 0x77, 0x72, 0x6f, 0x74, 0x65, 0x70, 0x61, 0x67, 0x65, 0x73, + 0x75, 0x73, 0x65, 0x72, 0x73, 0x64, 0x72, 0x69, 0x76, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x76, + 0x6f, 0x69, 0x63, 0x65, 0x73, 0x69, 0x74, 0x65, 0x73, 0x6d, 0x6f, 0x6e, 0x74, + 0x68, 0x77, 0x68, 0x65, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x77, 0x68, + 0x69, 0x63, 0x68, 0x65, 0x61, 0x72, 0x74, 0x68, 0x66, 0x6f, 0x72, 0x75, 0x6d, + 0x74, 0x68, 0x72, 0x65, 0x65, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x70, 0x61, 0x72, + 0x74, 0x79, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x6c, + 0x69, 0x76, 0x65, 0x73, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x75, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x63, 0x6f, 0x75, 0x72, 0x74, + 0x79, 0x6f, 0x75, 0x72, 0x20, 0x62, 0x69, 0x72, 0x74, 0x68, 0x70, 0x6f, 0x70, + 0x75, 0x70, 0x74, 0x79, 0x70, 0x65, 0x73, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x75, 0x70, 0x70, 0x65, + 0x72, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x65, 0x76, 0x65, 0x72, 0x79, 0x73, 0x68, + 0x6f, 0x77, 0x73, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x65, 0x78, 0x74, 0x72, 0x61, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x6b, 0x6e, 0x6f, + 0x77, 0x6e, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x62, 0x65, 0x67, 0x61, 0x6e, 0x73, + 0x75, 0x70, 0x65, 0x72, 0x70, 0x61, 0x70, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x74, + 0x68, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x6e, 0x61, + 0x6d, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x65, 0x72, 0x6d, 0x73, + 0x70, 0x61, 0x72, 0x74, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x62, 0x72, 0x61, + 0x6e, 0x64, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x66, + 0x61, 0x6c, 0x73, 0x65, 0x72, 0x65, 0x61, 0x64, 0x79, 0x61, 0x75, 0x64, 0x69, + 0x6f, 0x74, 0x61, 0x6b, 0x65, 0x73, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x64, 0x63, 0x61, 0x73, 0x65, 0x73, + 0x64, 0x61, 0x69, 0x6c, 0x79, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x67, 0x72, 0x65, + 0x61, 0x74, 0x6a, 0x75, 0x64, 0x67, 0x65, 0x74, 0x68, 0x6f, 0x73, 0x65, 0x75, + 0x6e, 0x69, 0x74, 0x73, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x62, 0x72, 0x6f, 0x61, + 0x64, 0x63, 0x6f, 0x61, 0x73, 0x74, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x70, + 0x70, 0x6c, 0x65, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x63, 0x79, 0x63, 0x6c, 0x65, + 0x73, 0x63, 0x65, 0x6e, 0x65, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x63, 0x6c, 0x69, + 0x63, 0x6b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x71, 0x75, 0x65, 0x65, 0x6e, 0x70, + 0x69, 0x65, 0x63, 0x65, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x66, 0x72, 0x61, 0x6d, + 0x65, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x63, 0x61, 0x63, 0x68, 0x65, 0x63, 0x69, 0x76, 0x69, 0x6c, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x68, 0x65, + 0x6d, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x62, + 0x6f, 0x75, 0x6e, 0x64, 0x72, 0x6f, 0x79, 0x61, 0x6c, 0x61, 0x73, 0x6b, 0x65, + 0x64, 0x77, 0x68, 0x6f, 0x6c, 0x65, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x74, + 0x6f, 0x63, 0x6b, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x61, 0x69, 0x74, 0x68, + 0x68, 0x65, 0x61, 0x72, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x6f, 0x66, 0x66, + 0x65, 0x72, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x6d, + 0x69, 0x67, 0x68, 0x74, 0x61, 0x6c, 0x62, 0x75, 0x6d, 0x74, 0x68, 0x69, 0x6e, + 0x6b, 0x62, 0x6c, 0x6f, 0x6f, 0x64, 0x61, 0x72, 0x72, 0x61, 0x79, 0x6d, 0x61, + 0x6a, 0x6f, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74, 0x63, 0x61, 0x6e, 0x6f, 0x6e, + 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x4c, + 0x6f, 0x67, 0x69, 0x6e, 0x68, 0x61, 0x70, 0x70, 0x79, 0x6f, 0x63, 0x63, 0x75, + 0x72, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x66, 0x72, 0x65, 0x73, 0x68, 0x71, 0x75, + 0x69, 0x74, 0x65, 0x66, 0x69, 0x6c, 0x6d, 0x73, 0x67, 0x72, 0x61, 0x64, 0x65, + 0x6e, 0x65, 0x65, 0x64, 0x73, 0x75, 0x72, 0x62, 0x61, 0x6e, 0x66, 0x69, 0x67, + 0x68, 0x74, 0x62, 0x61, 0x73, 0x69, 0x73, 0x68, 0x6f, 0x76, 0x65, 0x72, 0x61, + 0x75, 0x74, 0x6f, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x68, 0x74, 0x6d, + 0x6c, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x59, 0x6f, + 0x75, 0x72, 0x20, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x62, 0x72, 0x6f, 0x77, 0x6e, 0x61, 0x6c, 0x6f, 0x6e, 0x65, 0x64, 0x72, 0x61, + 0x77, 0x6e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x72, 0x65, 0x61, 0x63, 0x68, 0x52, + 0x69, 0x67, 0x68, 0x74, 0x64, 0x61, 0x74, 0x65, 0x73, 0x6d, 0x61, 0x72, 0x63, + 0x68, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x4c, 0x69, + 0x6e, 0x6b, 0x73, 0x64, 0x6f, 0x75, 0x62, 0x74, 0x61, 0x73, 0x79, 0x6e, 0x63, + 0x74, 0x68, 0x75, 0x6d, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x63, 0x68, 0x69, + 0x65, 0x66, 0x79, 0x6f, 0x75, 0x74, 0x68, 0x6e, 0x6f, 0x76, 0x65, 0x6c, 0x31, + 0x30, 0x70, 0x78, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x75, 0x6e, 0x74, 0x69, + 0x6c, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x70, + 0x61, 0x63, 0x65, 0x71, 0x75, 0x65, 0x72, 0x79, 0x6a, 0x61, 0x6d, 0x65, 0x73, + 0x65, 0x71, 0x75, 0x61, 0x6c, 0x74, 0x77, 0x69, 0x63, 0x65, 0x30, 0x2c, 0x30, + 0x30, 0x30, 0x53, 0x74, 0x61, 0x72, 0x74, 0x70, 0x61, 0x6e, 0x65, 0x6c, 0x73, + 0x6f, 0x6e, 0x67, 0x73, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x73, 0x68, 0x69, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x70, 0x6f, + 0x73, 0x74, 0x73, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x77, 0x65, 0x65, 0x6b, 0x73, + 0x61, 0x76, 0x6f, 0x69, 0x64, 0x74, 0x68, 0x65, 0x73, 0x65, 0x6d, 0x69, 0x6c, + 0x65, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x6d, 0x61, 0x72, 0x6b, + 0x73, 0x72, 0x61, 0x74, 0x65, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x73, 0x63, 0x6c, + 0x61, 0x69, 0x6d, 0x73, 0x61, 0x6c, 0x65, 0x73, 0x74, 0x65, 0x78, 0x74, 0x73, + 0x73, 0x74, 0x61, 0x72, 0x73, 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x3c, 0x2f, 0x68, + 0x33, 0x3e, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6d, + 0x75, 0x6c, 0x74, 0x69, 0x68, 0x65, 0x61, 0x72, 0x64, 0x50, 0x6f, 0x77, 0x65, + 0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x6f, + 0x6c, 0x69, 0x64, 0x28, 0x74, 0x68, 0x69, 0x73, 0x62, 0x72, 0x69, 0x6e, 0x67, + 0x73, 0x68, 0x69, 0x70, 0x73, 0x73, 0x74, 0x61, 0x66, 0x66, 0x74, 0x72, 0x69, + 0x65, 0x64, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x66, + 0x61, 0x63, 0x74, 0x73, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x68, 0x69, 0x73, + 0x20, 0x2f, 0x2f, 0x2d, 0x2d, 0x3e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x65, 0x67, + 0x79, 0x70, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x31, 0x35, 0x70, 0x78, 0x3b, + 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x74, 0x72, 0x75, 0x65, 0x22, 0x63, 0x72, 0x6f, + 0x73, 0x73, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x62, 0x6c, 0x6f, 0x67, 0x73, 0x62, + 0x6f, 0x78, 0x22, 0x3e, 0x6e, 0x6f, 0x74, 0x65, 0x64, 0x6c, 0x65, 0x61, 0x76, + 0x65, 0x63, 0x68, 0x69, 0x6e, 0x61, 0x73, 0x69, 0x7a, 0x65, 0x73, 0x67, 0x75, + 0x65, 0x73, 0x74, 0x3c, 0x2f, 0x68, 0x34, 0x3e, 0x72, 0x6f, 0x62, 0x6f, 0x74, + 0x68, 0x65, 0x61, 0x76, 0x79, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x73, 0x65, 0x76, + 0x65, 0x6e, 0x67, 0x72, 0x61, 0x6e, 0x64, 0x63, 0x72, 0x69, 0x6d, 0x65, 0x73, + 0x69, 0x67, 0x6e, 0x73, 0x61, 0x77, 0x61, 0x72, 0x65, 0x64, 0x61, 0x6e, 0x63, + 0x65, 0x70, 0x68, 0x61, 0x73, 0x65, 0x3e, 0x3c, 0x21, 0x2d, 0x2d, 0x65, 0x6e, + 0x5f, 0x55, 0x53, 0x26, 0x23, 0x33, 0x39, 0x3b, 0x32, 0x30, 0x30, 0x70, 0x78, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x6a, + 0x6f, 0x79, 0x61, 0x6a, 0x61, 0x78, 0x2e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x6d, 0x69, 0x74, 0x68, 0x55, 0x2e, 0x53, 0x2e, 0x20, 0x68, 0x6f, 0x6c, 0x64, + 0x73, 0x70, 0x65, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x61, + 0x76, 0x22, 0x3e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x64, 0x6f, 0x69, 0x6e, 0x67, 0x70, 0x72, 0x69, + 0x6f, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x31, 0x39, 0x39, 0x30, 0x73, 0x72, + 0x6f, 0x6d, 0x61, 0x6e, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x6a, 0x61, 0x70, 0x61, + 0x6e, 0x66, 0x61, 0x6c, 0x6c, 0x73, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x61, 0x67, 0x72, 0x65, 0x65, 0x3c, 0x2f, 0x68, 0x32, 0x3e, + 0x61, 0x62, 0x75, 0x73, 0x65, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x22, 0x2d, 0x2f, 0x2f, 0x57, 0x63, 0x61, 0x72, 0x64, 0x73, 0x68, + 0x69, 0x6c, 0x6c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x50, 0x68, 0x6f, 0x74, + 0x6f, 0x74, 0x72, 0x75, 0x74, 0x68, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x2e, 0x70, + 0x68, 0x70, 0x3f, 0x73, 0x61, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x6c, + 0x6c, 0x6f, 0x75, 0x69, 0x73, 0x6d, 0x65, 0x61, 0x6e, 0x74, 0x70, 0x72, 0x6f, + 0x6f, 0x66, 0x62, 0x72, 0x69, 0x65, 0x66, 0x72, 0x6f, 0x77, 0x22, 0x3e, 0x67, + 0x65, 0x6e, 0x72, 0x65, 0x74, 0x72, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6b, + 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x2e, 0x6e, + 0x65, 0x74, 0x2f, 0x2d, 0x2d, 0x3e, 0x0a, 0x3c, 0x74, 0x72, 0x79, 0x20, 0x7b, + 0x0a, 0x76, 0x61, 0x72, 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x73, 0x63, 0x6f, 0x73, + 0x74, 0x73, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x61, 0x64, 0x75, 0x6c, 0x74, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x6c, 0x61, 0x62, 0x6f, + 0x72, 0x68, 0x65, 0x6c, 0x70, 0x73, 0x63, 0x61, 0x75, 0x73, 0x65, 0x6d, 0x61, + 0x67, 0x69, 0x63, 0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x74, 0x68, 0x65, 0x69, 0x72, + 0x32, 0x35, 0x30, 0x70, 0x78, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x73, 0x74, 0x65, + 0x70, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x67, + 0x6c, 0x61, 0x73, 0x73, 0x73, 0x69, 0x64, 0x65, 0x73, 0x66, 0x75, 0x6e, 0x64, + 0x73, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x61, 0x77, 0x61, 0x72, 0x64, 0x6d, 0x6f, + 0x75, 0x74, 0x68, 0x6d, 0x6f, 0x76, 0x65, 0x73, 0x70, 0x61, 0x72, 0x69, 0x73, + 0x67, 0x69, 0x76, 0x65, 0x73, 0x64, 0x75, 0x74, 0x63, 0x68, 0x74, 0x65, 0x78, + 0x61, 0x73, 0x66, 0x72, 0x75, 0x69, 0x74, 0x6e, 0x75, 0x6c, 0x6c, 0x2c, 0x7c, + 0x7c, 0x5b, 0x5d, 0x3b, 0x74, 0x6f, 0x70, 0x22, 0x3e, 0x0a, 0x3c, 0x21, 0x2d, + 0x2d, 0x50, 0x4f, 0x53, 0x54, 0x22, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x3c, 0x62, + 0x72, 0x2f, 0x3e, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x73, 0x70, 0x65, 0x61, 0x6b, + 0x64, 0x65, 0x70, 0x74, 0x68, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x62, 0x61, 0x6e, + 0x6b, 0x73, 0x63, 0x61, 0x74, 0x63, 0x68, 0x63, 0x68, 0x61, 0x72, 0x74, 0x32, + 0x30, 0x70, 0x78, 0x3b, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x64, 0x65, 0x61, 0x6c, + 0x73, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x35, 0x30, 0x70, 0x78, 0x3b, 0x75, 0x72, + 0x6c, 0x3d, 0x22, 0x70, 0x61, 0x72, 0x6b, 0x73, 0x6d, 0x6f, 0x75, 0x73, 0x65, + 0x4d, 0x6f, 0x73, 0x74, 0x20, 0x2e, 0x2e, 0x2e, 0x3c, 0x2f, 0x61, 0x6d, 0x6f, + 0x6e, 0x67, 0x62, 0x72, 0x61, 0x69, 0x6e, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x6e, + 0x6f, 0x6e, 0x65, 0x3b, 0x62, 0x61, 0x73, 0x65, 0x64, 0x63, 0x61, 0x72, 0x72, + 0x79, 0x64, 0x72, 0x61, 0x66, 0x74, 0x72, 0x65, 0x66, 0x65, 0x72, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x68, 0x6f, 0x6d, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x64, 0x65, 0x6c, 0x61, 0x79, 0x64, 0x72, 0x65, 0x61, 0x6d, 0x70, 0x72, 0x6f, + 0x76, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x64, + 0x72, 0x75, 0x67, 0x73, 0x3c, 0x21, 0x2d, 0x2d, 0x20, 0x61, 0x70, 0x72, 0x69, + 0x6c, 0x69, 0x64, 0x65, 0x61, 0x6c, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x65, 0x78, + 0x61, 0x63, 0x74, 0x66, 0x6f, 0x72, 0x74, 0x68, 0x63, 0x6f, 0x64, 0x65, 0x73, + 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x56, 0x69, 0x65, 0x77, 0x20, 0x73, 0x65, 0x65, + 0x6d, 0x73, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x20, + 0x28, 0x32, 0x30, 0x30, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x67, 0x6f, 0x61, 0x6c, 0x73, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x67, 0x72, + 0x65, 0x65, 0x6b, 0x68, 0x6f, 0x6d, 0x65, 0x73, 0x72, 0x69, 0x6e, 0x67, 0x73, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x33, 0x30, 0x70, 0x78, 0x3b, 0x77, 0x68, 0x6f, + 0x73, 0x65, 0x70, 0x61, 0x72, 0x73, 0x65, 0x28, 0x29, 0x3b, 0x22, 0x20, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x6a, 0x6f, 0x6e, 0x65, + 0x73, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x27, 0x29, 0x3b, 0x22, 0x3e, 0x29, 0x3b, + 0x69, 0x66, 0x28, 0x2d, 0x6c, 0x65, 0x66, 0x74, 0x64, 0x61, 0x76, 0x69, 0x64, + 0x68, 0x6f, 0x72, 0x73, 0x65, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x72, 0x61, 0x69, + 0x73, 0x65, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x3c, 0x2f, 0x65, 0x6d, 0x3e, 0x62, 0x61, 0x72, 0x22, + 0x3e, 0x2e, 0x73, 0x72, 0x63, 0x3d, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x61, 0x6c, + 0x74, 0x3d, 0x22, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x68, 0x65, 0x6e, 0x72, 0x79, + 0x32, 0x34, 0x70, 0x78, 0x3b, 0x73, 0x65, 0x74, 0x75, 0x70, 0x69, 0x74, 0x61, + 0x6c, 0x79, 0x73, 0x68, 0x61, 0x72, 0x70, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x74, + 0x61, 0x73, 0x74, 0x65, 0x77, 0x61, 0x6e, 0x74, 0x73, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x72, 0x65, 0x73, 0x65, 0x74, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x67, 0x69, + 0x72, 0x6c, 0x73, 0x2f, 0x63, 0x73, 0x73, 0x2f, 0x31, 0x30, 0x30, 0x25, 0x3b, + 0x63, 0x6c, 0x75, 0x62, 0x73, 0x73, 0x74, 0x75, 0x66, 0x66, 0x62, 0x69, 0x62, + 0x6c, 0x65, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x6b, + 0x6f, 0x72, 0x65, 0x61, 0x7d, 0x29, 0x3b, 0x0d, 0x0a, 0x62, 0x61, 0x6e, 0x64, + 0x73, 0x71, 0x75, 0x65, 0x75, 0x65, 0x3d, 0x20, 0x7b, 0x7d, 0x3b, 0x38, 0x30, + 0x70, 0x78, 0x3b, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x7b, 0x0d, 0x0a, 0x09, 0x09, + 0x61, 0x68, 0x65, 0x61, 0x64, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x72, 0x69, + 0x73, 0x68, 0x6c, 0x69, 0x6b, 0x65, 0x20, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x73, + 0x74, 0x61, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x6d, 0x22, 0x79, 0x61, 0x68, 0x6f, + 0x6f, 0x29, 0x5b, 0x30, 0x5d, 0x3b, 0x41, 0x62, 0x6f, 0x75, 0x74, 0x66, 0x69, + 0x6e, 0x64, 0x73, 0x3c, 0x2f, 0x68, 0x31, 0x3e, 0x64, 0x65, 0x62, 0x75, 0x67, + 0x74, 0x61, 0x73, 0x6b, 0x73, 0x55, 0x52, 0x4c, 0x20, 0x3d, 0x63, 0x65, 0x6c, + 0x6c, 0x73, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x31, 0x32, 0x70, 0x78, 0x3b, 0x70, + 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x6c, 0x6c, 0x73, 0x74, 0x75, 0x72, 0x6e, + 0x73, 0x30, 0x78, 0x36, 0x30, 0x30, 0x2e, 0x6a, 0x70, 0x67, 0x22, 0x73, 0x70, + 0x61, 0x69, 0x6e, 0x62, 0x65, 0x61, 0x63, 0x68, 0x74, 0x61, 0x78, 0x65, 0x73, + 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x2d, 0x2d, 0x3e, + 0x3c, 0x2f, 0x67, 0x69, 0x66, 0x74, 0x73, 0x73, 0x74, 0x65, 0x76, 0x65, 0x2d, + 0x6c, 0x69, 0x6e, 0x6b, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x7d, 0x29, 0x3b, 0x0a, + 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x28, 0x31, 0x39, 0x39, 0x46, 0x41, + 0x51, 0x3c, 0x2f, 0x72, 0x6f, 0x67, 0x65, 0x72, 0x66, 0x72, 0x61, 0x6e, 0x6b, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x32, 0x38, 0x70, 0x78, 0x3b, 0x66, 0x65, 0x65, + 0x64, 0x73, 0x3c, 0x68, 0x31, 0x3e, 0x3c, 0x73, 0x63, 0x6f, 0x74, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x73, 0x32, 0x32, 0x70, 0x78, 0x3b, 0x64, 0x72, 0x69, 0x6e, + 0x6b, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x6c, 0x65, 0x77, 0x69, 0x73, 0x73, 0x68, + 0x61, 0x6c, 0x6c, 0x23, 0x30, 0x33, 0x39, 0x3b, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x6c, 0x6f, 0x76, 0x65, 0x64, 0x77, 0x61, 0x73, 0x74, 0x65, 0x30, 0x30, 0x70, + 0x78, 0x3b, 0x6a, 0x61, 0x3a, 0xe3, 0x82, 0x73, 0x69, 0x6d, 0x6f, 0x6e, 0x3c, + 0x66, 0x6f, 0x6e, 0x74, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x6d, 0x65, 0x65, 0x74, + 0x73, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x68, 0x65, 0x61, 0x70, 0x74, 0x69, + 0x67, 0x68, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x29, 0x20, 0x21, 0x3d, 0x20, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x72, 0x6f, 0x6f, + 0x6d, 0x73, 0x6f, 0x6e, 0x6b, 0x65, 0x79, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x6d, + 0x61, 0x69, 0x6e, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x66, 0x75, 0x6e, 0x6e, 0x79, 0x74, 0x72, 0x65, 0x65, 0x73, 0x63, 0x6f, + 0x6d, 0x2f, 0x22, 0x31, 0x2e, 0x6a, 0x70, 0x67, 0x77, 0x6d, 0x6f, 0x64, 0x65, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x53, 0x54, 0x41, 0x52, 0x54, 0x6c, 0x65, 0x66, + 0x74, 0x20, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x2c, 0x20, 0x32, 0x30, 0x31, 0x29, + 0x3b, 0x0a, 0x7d, 0x0a, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x69, 0x72, 0x75, + 0x73, 0x63, 0x68, 0x61, 0x69, 0x72, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x77, 0x6f, + 0x72, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x70, 0x61, 0x74, 0x63, 0x68, 0x3c, 0x21, 0x2d, 0x2d, 0x0a, 0x6f, 0x2d, 0x63, + 0x61, 0x63, 0x66, 0x69, 0x72, 0x6d, 0x73, 0x74, 0x6f, 0x75, 0x72, 0x73, 0x2c, + 0x30, 0x30, 0x30, 0x20, 0x61, 0x73, 0x69, 0x61, 0x6e, 0x69, 0x2b, 0x2b, 0x29, + 0x7b, 0x61, 0x64, 0x6f, 0x62, 0x65, 0x27, 0x29, 0x5b, 0x30, 0x5d, 0x69, 0x64, + 0x3d, 0x31, 0x30, 0x62, 0x6f, 0x74, 0x68, 0x3b, 0x6d, 0x65, 0x6e, 0x75, 0x20, + 0x2e, 0x32, 0x2e, 0x6d, 0x69, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x6b, 0x65, 0x76, + 0x69, 0x6e, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x62, + 0x72, 0x75, 0x63, 0x65, 0x32, 0x2e, 0x6a, 0x70, 0x67, 0x55, 0x52, 0x4c, 0x29, + 0x2b, 0x2e, 0x6a, 0x70, 0x67, 0x7c, 0x73, 0x75, 0x69, 0x74, 0x65, 0x73, 0x6c, + 0x69, 0x63, 0x65, 0x68, 0x61, 0x72, 0x72, 0x79, 0x31, 0x32, 0x30, 0x22, 0x20, + 0x73, 0x77, 0x65, 0x65, 0x74, 0x74, 0x72, 0x3e, 0x0d, 0x0a, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x64, 0x69, 0x65, 0x67, 0x6f, 0x70, 0x61, 0x67, 0x65, 0x20, 0x73, + 0x77, 0x69, 0x73, 0x73, 0x2d, 0x2d, 0x3e, 0x0a, 0x0a, 0x23, 0x66, 0x66, 0x66, + 0x3b, 0x22, 0x3e, 0x4c, 0x6f, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x74, 0x72, + 0x65, 0x61, 0x74, 0x73, 0x68, 0x65, 0x65, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, + 0x31, 0x34, 0x70, 0x78, 0x3b, 0x73, 0x6c, 0x65, 0x65, 0x70, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x64, 0x6a, 0x61, 0x3a, 0xe3, 0x83, 0x69, + 0x64, 0x3d, 0x22, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x77, 0x6f, 0x72, 0x73, + 0x65, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2d, 0x62, 0x6f, 0x78, 0x2d, 0x64, 0x65, + 0x6c, 0x74, 0x61, 0x0a, 0x26, 0x6c, 0x74, 0x3b, 0x62, 0x65, 0x61, 0x72, 0x73, + 0x3a, 0x34, 0x38, 0x5a, 0x3c, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x75, 0x72, + 0x61, 0x6c, 0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x62, + 0x61, 0x6b, 0x65, 0x72, 0x73, 0x68, 0x6f, 0x70, 0x73, 0x3d, 0x20, 0x22, 0x22, + 0x3b, 0x70, 0x68, 0x70, 0x22, 0x3e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x33, + 0x70, 0x78, 0x3b, 0x62, 0x72, 0x69, 0x61, 0x6e, 0x68, 0x65, 0x6c, 0x6c, 0x6f, + 0x73, 0x69, 0x7a, 0x65, 0x3d, 0x6f, 0x3d, 0x25, 0x32, 0x46, 0x20, 0x6a, 0x6f, + 0x69, 0x6e, 0x6d, 0x61, 0x79, 0x62, 0x65, 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x69, + 0x6d, 0x67, 0x22, 0x3e, 0x2c, 0x20, 0x66, 0x6a, 0x73, 0x69, 0x6d, 0x67, 0x22, + 0x20, 0x22, 0x29, 0x5b, 0x30, 0x5d, 0x4d, 0x54, 0x6f, 0x70, 0x42, 0x54, 0x79, + 0x70, 0x65, 0x22, 0x6e, 0x65, 0x77, 0x6c, 0x79, 0x44, 0x61, 0x6e, 0x73, 0x6b, + 0x63, 0x7a, 0x65, 0x63, 0x68, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x6b, 0x6e, 0x6f, + 0x77, 0x73, 0x3c, 0x2f, 0x68, 0x35, 0x3e, 0x66, 0x61, 0x71, 0x22, 0x3e, 0x7a, + 0x68, 0x2d, 0x63, 0x6e, 0x31, 0x30, 0x29, 0x3b, 0x0a, 0x2d, 0x31, 0x22, 0x29, + 0x3b, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x74, 0x72, + 0x75, 0x6c, 0x79, 0x64, 0x61, 0x76, 0x69, 0x73, 0x2e, 0x6a, 0x73, 0x27, 0x3b, + 0x3e, 0x0d, 0x0a, 0x3c, 0x21, 0x73, 0x74, 0x65, 0x65, 0x6c, 0x20, 0x79, 0x6f, + 0x75, 0x20, 0x68, 0x32, 0x3e, 0x0d, 0x0a, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6a, + 0x65, 0x73, 0x75, 0x73, 0x31, 0x30, 0x30, 0x25, 0x20, 0x6d, 0x65, 0x6e, 0x75, + 0x2e, 0x0d, 0x0a, 0x09, 0x0d, 0x0a, 0x77, 0x61, 0x6c, 0x65, 0x73, 0x72, 0x69, + 0x73, 0x6b, 0x73, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x64, 0x64, 0x69, 0x6e, 0x67, + 0x62, 0x2d, 0x6c, 0x69, 0x6b, 0x74, 0x65, 0x61, 0x63, 0x68, 0x67, 0x69, 0x66, + 0x22, 0x20, 0x76, 0x65, 0x67, 0x61, 0x73, 0x64, 0x61, 0x6e, 0x73, 0x6b, 0x65, + 0x65, 0x73, 0x74, 0x69, 0x73, 0x68, 0x71, 0x69, 0x70, 0x73, 0x75, 0x6f, 0x6d, + 0x69, 0x73, 0x6f, 0x62, 0x72, 0x65, 0x64, 0x65, 0x73, 0x64, 0x65, 0x65, 0x6e, + 0x74, 0x72, 0x65, 0x74, 0x6f, 0x64, 0x6f, 0x73, 0x70, 0x75, 0x65, 0x64, 0x65, + 0x61, 0xc3, 0xb1, 0x6f, 0x73, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x74, 0x69, 0x65, + 0x6e, 0x65, 0x68, 0x61, 0x73, 0x74, 0x61, 0x6f, 0x74, 0x72, 0x6f, 0x73, 0x70, + 0x61, 0x72, 0x74, 0x65, 0x64, 0x6f, 0x6e, 0x64, 0x65, 0x6e, 0x75, 0x65, 0x76, + 0x6f, 0x68, 0x61, 0x63, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6d, 0x69, + 0x73, 0x6d, 0x6f, 0x6d, 0x65, 0x6a, 0x6f, 0x72, 0x6d, 0x75, 0x6e, 0x64, 0x6f, + 0x61, 0x71, 0x75, 0xc3, 0xad, 0x64, 0xc3, 0xad, 0x61, 0x73, 0x73, 0xc3, 0xb3, + 0x6c, 0x6f, 0x61, 0x79, 0x75, 0x64, 0x61, 0x66, 0x65, 0x63, 0x68, 0x61, 0x74, + 0x6f, 0x64, 0x61, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x6f, 0x6d, 0x65, 0x6e, 0x6f, + 0x73, 0x64, 0x61, 0x74, 0x6f, 0x73, 0x6f, 0x74, 0x72, 0x61, 0x73, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6d, 0x75, 0x63, 0x68, 0x6f, 0x61, 0x68, 0x6f, 0x72, 0x61, + 0x6c, 0x75, 0x67, 0x61, 0x72, 0x6d, 0x61, 0x79, 0x6f, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x73, 0x68, 0x6f, 0x72, 0x61, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x74, 0x65, 0x73, 0x66, 0x6f, 0x74, 0x6f, 0x73, 0x65, 0x73, 0x74, 0x61, + 0x73, 0x70, 0x61, 0xc3, 0xad, 0x73, 0x6e, 0x75, 0x65, 0x76, 0x61, 0x73, 0x61, + 0x6c, 0x75, 0x64, 0x66, 0x6f, 0x72, 0x6f, 0x73, 0x6d, 0x65, 0x64, 0x69, 0x6f, + 0x71, 0x75, 0x69, 0x65, 0x6e, 0x6d, 0x65, 0x73, 0x65, 0x73, 0x70, 0x6f, 0x64, + 0x65, 0x72, 0x63, 0x68, 0x69, 0x6c, 0x65, 0x73, 0x65, 0x72, 0xc3, 0xa1, 0x76, + 0x65, 0x63, 0x65, 0x73, 0x64, 0x65, 0x63, 0x69, 0x72, 0x6a, 0x6f, 0x73, 0xc3, + 0xa9, 0x65, 0x73, 0x74, 0x61, 0x72, 0x76, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x72, + 0x75, 0x70, 0x6f, 0x68, 0x65, 0x63, 0x68, 0x6f, 0x65, 0x6c, 0x6c, 0x6f, 0x73, + 0x74, 0x65, 0x6e, 0x67, 0x6f, 0x61, 0x6d, 0x69, 0x67, 0x6f, 0x63, 0x6f, 0x73, + 0x61, 0x73, 0x6e, 0x69, 0x76, 0x65, 0x6c, 0x67, 0x65, 0x6e, 0x74, 0x65, 0x6d, + 0x69, 0x73, 0x6d, 0x61, 0x61, 0x69, 0x72, 0x65, 0x73, 0x6a, 0x75, 0x6c, 0x69, + 0x6f, 0x74, 0x65, 0x6d, 0x61, 0x73, 0x68, 0x61, 0x63, 0x69, 0x61, 0x66, 0x61, + 0x76, 0x6f, 0x72, 0x6a, 0x75, 0x6e, 0x69, 0x6f, 0x6c, 0x69, 0x62, 0x72, 0x65, + 0x70, 0x75, 0x6e, 0x74, 0x6f, 0x62, 0x75, 0x65, 0x6e, 0x6f, 0x61, 0x75, 0x74, + 0x6f, 0x72, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x62, 0x75, 0x65, 0x6e, 0x61, 0x74, + 0x65, 0x78, 0x74, 0x6f, 0x6d, 0x61, 0x72, 0x7a, 0x6f, 0x73, 0x61, 0x62, 0x65, + 0x72, 0x6c, 0x69, 0x73, 0x74, 0x61, 0x6c, 0x75, 0x65, 0x67, 0x6f, 0x63, 0xc3, + 0xb3, 0x6d, 0x6f, 0x65, 0x6e, 0x65, 0x72, 0x6f, 0x6a, 0x75, 0x65, 0x67, 0x6f, + 0x70, 0x65, 0x72, 0xc3, 0xba, 0x68, 0x61, 0x62, 0x65, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x79, 0x6e, 0x75, 0x6e, 0x63, 0x61, 0x6d, 0x75, 0x6a, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x6f, 0x72, 0x66, 0x75, 0x65, 0x72, 0x61, 0x6c, 0x69, 0x62, 0x72, + 0x6f, 0x67, 0x75, 0x73, 0x74, 0x61, 0x69, 0x67, 0x75, 0x61, 0x6c, 0x76, 0x6f, + 0x74, 0x6f, 0x73, 0x63, 0x61, 0x73, 0x6f, 0x73, 0x67, 0x75, 0xc3, 0xad, 0x61, + 0x70, 0x75, 0x65, 0x64, 0x6f, 0x73, 0x6f, 0x6d, 0x6f, 0x73, 0x61, 0x76, 0x69, + 0x73, 0x6f, 0x75, 0x73, 0x74, 0x65, 0x64, 0x64, 0x65, 0x62, 0x65, 0x6e, 0x6e, + 0x6f, 0x63, 0x68, 0x65, 0x62, 0x75, 0x73, 0x63, 0x61, 0x66, 0x61, 0x6c, 0x74, + 0x61, 0x65, 0x75, 0x72, 0x6f, 0x73, 0x73, 0x65, 0x72, 0x69, 0x65, 0x64, 0x69, + 0x63, 0x68, 0x6f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x63, 0x6c, 0x61, 0x76, 0x65, + 0x63, 0x61, 0x73, 0x61, 0x73, 0x6c, 0x65, 0xc3, 0xb3, 0x6e, 0x70, 0x6c, 0x61, + 0x7a, 0x6f, 0x6c, 0x61, 0x72, 0x67, 0x6f, 0x6f, 0x62, 0x72, 0x61, 0x73, 0x76, + 0x69, 0x73, 0x74, 0x61, 0x61, 0x70, 0x6f, 0x79, 0x6f, 0x6a, 0x75, 0x6e, 0x74, + 0x6f, 0x74, 0x72, 0x61, 0x74, 0x61, 0x76, 0x69, 0x73, 0x74, 0x6f, 0x63, 0x72, + 0x65, 0x61, 0x72, 0x63, 0x61, 0x6d, 0x70, 0x6f, 0x68, 0x65, 0x6d, 0x6f, 0x73, + 0x63, 0x69, 0x6e, 0x63, 0x6f, 0x63, 0x61, 0x72, 0x67, 0x6f, 0x70, 0x69, 0x73, + 0x6f, 0x73, 0x6f, 0x72, 0x64, 0x65, 0x6e, 0x68, 0x61, 0x63, 0x65, 0x6e, 0xc3, + 0xa1, 0x72, 0x65, 0x61, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x72, + 0x6f, 0x63, 0x65, 0x72, 0x63, 0x61, 0x70, 0x75, 0x65, 0x64, 0x61, 0x70, 0x61, + 0x70, 0x65, 0x6c, 0x6d, 0x65, 0x6e, 0x6f, 0x72, 0xc3, 0xba, 0x74, 0x69, 0x6c, + 0x63, 0x6c, 0x61, 0x72, 0x6f, 0x6a, 0x6f, 0x72, 0x67, 0x65, 0x63, 0x61, 0x6c, + 0x6c, 0x65, 0x70, 0x6f, 0x6e, 0x65, 0x72, 0x74, 0x61, 0x72, 0x64, 0x65, 0x6e, + 0x61, 0x64, 0x69, 0x65, 0x6d, 0x61, 0x72, 0x63, 0x61, 0x73, 0x69, 0x67, 0x75, + 0x65, 0x65, 0x6c, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6c, 0x6f, 0x63, 0x6f, + 0x63, 0x68, 0x65, 0x6d, 0x6f, 0x74, 0x6f, 0x73, 0x6d, 0x61, 0x64, 0x72, 0x65, + 0x63, 0x6c, 0x61, 0x73, 0x65, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x69, 0xc3, + 0xb1, 0x6f, 0x71, 0x75, 0x65, 0x64, 0x61, 0x70, 0x61, 0x73, 0x61, 0x72, 0x62, + 0x61, 0x6e, 0x63, 0x6f, 0x68, 0x69, 0x6a, 0x6f, 0x73, 0x76, 0x69, 0x61, 0x6a, + 0x65, 0x70, 0x61, 0x62, 0x6c, 0x6f, 0xc3, 0xa9, 0x73, 0x74, 0x65, 0x76, 0x69, + 0x65, 0x6e, 0x65, 0x72, 0x65, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x6a, 0x61, 0x72, + 0x66, 0x6f, 0x6e, 0x64, 0x6f, 0x63, 0x61, 0x6e, 0x61, 0x6c, 0x6e, 0x6f, 0x72, + 0x74, 0x65, 0x6c, 0x65, 0x74, 0x72, 0x61, 0x63, 0x61, 0x75, 0x73, 0x61, 0x74, + 0x6f, 0x6d, 0x61, 0x72, 0x6d, 0x61, 0x6e, 0x6f, 0x73, 0x6c, 0x75, 0x6e, 0x65, + 0x73, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x76, 0x69, 0x6c, 0x6c, 0x61, 0x76, 0x65, + 0x6e, 0x64, 0x6f, 0x70, 0x65, 0x73, 0x61, 0x72, 0x74, 0x69, 0x70, 0x6f, 0x73, + 0x74, 0x65, 0x6e, 0x67, 0x61, 0x6d, 0x61, 0x72, 0x63, 0x6f, 0x6c, 0x6c, 0x65, + 0x76, 0x61, 0x70, 0x61, 0x64, 0x72, 0x65, 0x75, 0x6e, 0x69, 0x64, 0x6f, 0x76, + 0x61, 0x6d, 0x6f, 0x73, 0x7a, 0x6f, 0x6e, 0x61, 0x73, 0x61, 0x6d, 0x62, 0x6f, + 0x73, 0x62, 0x61, 0x6e, 0x64, 0x61, 0x6d, 0x61, 0x72, 0x69, 0x61, 0x61, 0x62, + 0x75, 0x73, 0x6f, 0x6d, 0x75, 0x63, 0x68, 0x61, 0x73, 0x75, 0x62, 0x69, 0x72, + 0x72, 0x69, 0x6f, 0x6a, 0x61, 0x76, 0x69, 0x76, 0x69, 0x72, 0x67, 0x72, 0x61, + 0x64, 0x6f, 0x63, 0x68, 0x69, 0x63, 0x61, 0x61, 0x6c, 0x6c, 0xc3, 0xad, 0x6a, + 0x6f, 0x76, 0x65, 0x6e, 0x64, 0x69, 0x63, 0x68, 0x61, 0x65, 0x73, 0x74, 0x61, + 0x6e, 0x74, 0x61, 0x6c, 0x65, 0x73, 0x73, 0x61, 0x6c, 0x69, 0x72, 0x73, 0x75, + 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x6f, 0x73, 0x66, 0x69, 0x6e, 0x65, 0x73, + 0x6c, 0x6c, 0x61, 0x6d, 0x61, 0x62, 0x75, 0x73, 0x63, 0x6f, 0xc3, 0xa9, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6e, 0x65, 0x67, 0x72, 0x6f, 0x70, + 0x6c, 0x61, 0x7a, 0x61, 0x68, 0x75, 0x6d, 0x6f, 0x72, 0x70, 0x61, 0x67, 0x61, + 0x72, 0x6a, 0x75, 0x6e, 0x74, 0x61, 0x64, 0x6f, 0x62, 0x6c, 0x65, 0x69, 0x73, + 0x6c, 0x61, 0x73, 0x62, 0x6f, 0x6c, 0x73, 0x61, 0x62, 0x61, 0xc3, 0xb1, 0x6f, + 0x68, 0x61, 0x62, 0x6c, 0x61, 0x6c, 0x75, 0x63, 0x68, 0x61, 0xc3, 0x81, 0x72, + 0x65, 0x61, 0x64, 0x69, 0x63, 0x65, 0x6e, 0x6a, 0x75, 0x67, 0x61, 0x72, 0x6e, + 0x6f, 0x74, 0x61, 0x73, 0x76, 0x61, 0x6c, 0x6c, 0x65, 0x61, 0x6c, 0x6c, 0xc3, + 0xa1, 0x63, 0x61, 0x72, 0x67, 0x61, 0x64, 0x6f, 0x6c, 0x6f, 0x72, 0x61, 0x62, + 0x61, 0x6a, 0x6f, 0x65, 0x73, 0x74, 0xc3, 0xa9, 0x67, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x6d, 0x61, 0x72, 0x69, 0x6f, 0x66, 0x69, 0x72, + 0x6d, 0x61, 0x63, 0x6f, 0x73, 0x74, 0x6f, 0x66, 0x69, 0x63, 0x68, 0x61, 0x70, + 0x6c, 0x61, 0x74, 0x61, 0x68, 0x6f, 0x67, 0x61, 0x72, 0x61, 0x72, 0x74, 0x65, + 0x73, 0x6c, 0x65, 0x79, 0x65, 0x73, 0x61, 0x71, 0x75, 0x65, 0x6c, 0x6d, 0x75, + 0x73, 0x65, 0x6f, 0x62, 0x61, 0x73, 0x65, 0x73, 0x70, 0x6f, 0x63, 0x6f, 0x73, + 0x6d, 0x69, 0x74, 0x61, 0x64, 0x63, 0x69, 0x65, 0x6c, 0x6f, 0x63, 0x68, 0x69, + 0x63, 0x6f, 0x6d, 0x69, 0x65, 0x64, 0x6f, 0x67, 0x61, 0x6e, 0x61, 0x72, 0x73, + 0x61, 0x6e, 0x74, 0x6f, 0x65, 0x74, 0x61, 0x70, 0x61, 0x64, 0x65, 0x62, 0x65, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x61, 0x72, 0x65, 0x64, 0x65, 0x73, 0x73, 0x69, + 0x65, 0x74, 0x65, 0x63, 0x6f, 0x72, 0x74, 0x65, 0x63, 0x6f, 0x72, 0x65, 0x61, + 0x64, 0x75, 0x64, 0x61, 0x73, 0x64, 0x65, 0x73, 0x65, 0x6f, 0x76, 0x69, 0x65, + 0x6a, 0x6f, 0x64, 0x65, 0x73, 0x65, 0x61, 0x61, 0x67, 0x75, 0x61, 0x73, 0x26, + 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x73, 0x79, 0x73, 0x74, + 0x65, 0x6d, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x61, 0x6e, 0x6e, 0x65, + 0x72, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x73, 0x63, 0x72, 0x6f, 0x6c, 0x6c, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x6d, + 0x65, 0x64, 0x69, 0x75, 0x6d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x73, 0x63, 0x72, 0x65, + 0x65, 0x6e, 0x63, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x61, + 0x6c, 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, + 0x70, 0x72, 0x69, 0x6e, 0x67, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x6d, 0x6f, + 0x62, 0x69, 0x6c, 0x65, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x70, 0x68, 0x6f, + 0x74, 0x6f, 0x73, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x69, 0x74, 0x73, 0x65, 0x6c, 0x66, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x6c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x6c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x66, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x65, 0x76, 0x69, 0x65, + 0x77, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x65, + 0x78, 0x70, 0x61, 0x6e, 0x64, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x70, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x6c, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x73, 0x69, 0x67, + 0x6e, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x73, + 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x70, + 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x6c, 0x65, 0x74, 0x74, 0x65, + 0x72, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, + 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x75, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x6d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x73, 0x63, 0x68, + 0x6f, 0x6f, 0x6c, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x64, 0x65, 0x62, 0x61, 0x74, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x73, + 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x63, + 0x68, 0x72, 0x6f, 0x6d, 0x65, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6e, 0x6f, + 0x74, 0x69, 0x63, 0x65, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x71, 0x75, 0x61, 0x72, + 0x65, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x6d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x6c, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x77, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x46, 0x72, + 0x61, 0x6e, 0x63, 0x65, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x74, 0x72, + 0x6f, 0x6e, 0x67, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x64, + 0x6f, 0x6e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x66, 0x6f, 0x72, 0x6d, 0x65, + 0x64, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, + 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x74, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x73, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x63, 0x63, 0x69, 0x74, 0x69, 0x65, 0x73, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x79, 0x65, 0x6c, 0x6c, 0x6f, 0x77, 0x61, 0x74, 0x74, 0x61, + 0x63, 0x6b, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x66, 0x6c, 0x69, 0x67, 0x68, + 0x74, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x3e, + 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x75, 0x73, 0x65, 0x66, 0x75, 0x6c, 0x76, + 0x61, 0x6c, 0x6c, 0x65, 0x79, 0x63, 0x61, 0x75, 0x73, 0x65, 0x73, 0x6c, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x73, + 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x73, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x76, 0x69, + 0x73, 0x75, 0x61, 0x6c, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x76, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x6d, 0x75, 0x73, 0x65, + 0x75, 0x6d, 0x6d, 0x6f, 0x76, 0x69, 0x65, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6d, 0x6f, 0x73, 0x74, 0x6c, 0x79, + 0x6d, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x63, 0x68, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x75, 0x72, 0x76, 0x65, 0x79, 0x62, 0x65, 0x66, + 0x6f, 0x72, 0x65, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x6d, 0x6f, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6d, 0x6f, 0x74, 0x69, 0x6f, + 0x6e, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x65, + 0x78, 0x69, 0x73, 0x74, 0x73, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x45, 0x75, + 0x72, 0x6f, 0x70, 0x65, 0x67, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x6c, 0x65, 0x67, + 0x61, 0x63, 0x79, 0x6d, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x65, 0x6e, 0x6f, 0x75, + 0x67, 0x68, 0x63, 0x61, 0x72, 0x65, 0x65, 0x72, 0x61, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, + 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x73, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x66, 0x61, 0x74, + 0x68, 0x65, 0x72, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x69, 0x6d, 0x70, + 0x6c, 0x79, 0x72, 0x61, 0x69, 0x73, 0x65, 0x64, 0x65, 0x73, 0x63, 0x61, 0x70, + 0x65, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x63, 0x68, 0x75, 0x72, 0x63, 0x68, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x6e, 0x65, 0x72, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x6d, 0x65, + 0x6d, 0x6f, 0x72, 0x79, 0x69, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x65, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x6f, 0x66, 0x66, 0x65, 0x72, + 0x73, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, + 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x73, + 0x69, 0x6c, 0x76, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x62, 0x65, 0x74, 0x74, 0x65, 0x72, 0x62, 0x72, 0x6f, + 0x77, 0x73, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x77, 0x69, 0x64, 0x67, 0x65, + 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, + 0x6e, 0x6f, 0x77, 0x72, 0x61, 0x70, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x63, + 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x61, + 0x66, 0x65, 0x74, 0x79, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x70, 0x69, + 0x72, 0x69, 0x74, 0x2d, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x70, 0x72, 0x65, + 0x61, 0x64, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x6e, 0x65, 0x65, 0x64, 0x65, + 0x64, 0x72, 0x75, 0x73, 0x73, 0x69, 0x61, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x62, + 0x72, 0x6f, 0x6b, 0x65, 0x6e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x63, 0x68, + 0x61, 0x72, 0x67, 0x65, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x66, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2d, 0x62, 0x61, 0x73, + 0x65, 0x64, 0x74, 0x68, 0x65, 0x6f, 0x72, 0x79, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x61, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x64, + 0x68, 0x65, 0x6c, 0x70, 0x65, 0x64, 0x43, 0x68, 0x75, 0x72, 0x63, 0x68, 0x69, + 0x6d, 0x70, 0x61, 0x63, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x61, 0x6c, + 0x77, 0x61, 0x79, 0x73, 0x6c, 0x6f, 0x67, 0x6f, 0x22, 0x20, 0x62, 0x6f, 0x74, + 0x74, 0x6f, 0x6d, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x3e, 0x29, 0x7b, 0x76, 0x61, + 0x72, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6f, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x28, + 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x67, 0x61, 0x72, 0x64, 0x65, 0x6e, 0x62, + 0x72, 0x69, 0x64, 0x67, 0x65, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x52, 0x65, + 0x76, 0x69, 0x65, 0x77, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x62, 0x65, 0x61, 0x75, 0x74, + 0x79, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x66, 0x6f, 0x72, 0x67, 0x6f, 0x74, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x61, + 0x6c, 0x6d, 0x6f, 0x73, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x62, 0x69, + 0x6c, 0x65, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x75, 0x70, 0x70, 0x6c, + 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, + 0x76, 0x69, 0x65, 0x77, 0x65, 0x64, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x63, + 0x6f, 0x75, 0x72, 0x73, 0x65, 0x41, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x69, 0x73, + 0x6c, 0x61, 0x6e, 0x64, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x63, 0x6f, 0x6f, + 0x6b, 0x69, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x6d, 0x61, 0x7a, + 0x6f, 0x6e, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x6e, 0x61, 0x64, 0x76, 0x69, 0x63, + 0x65, 0x69, 0x6e, 0x3c, 0x2f, 0x61, 0x3e, 0x3a, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x73, 0x42, + 0x45, 0x47, 0x49, 0x4e, 0x20, 0x4d, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x73, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x6c, 0x61, + 0x6e, 0x64, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x45, 0x6d, 0x70, 0x69, 0x72, + 0x65, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x65, 0x66, 0x66, 0x6f, 0x72, 0x74, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x6d, + 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x2e, 0x0a, + 0x0a, 0x4f, 0x6e, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x6d, 0x65, 0x6e, + 0x75, 0x22, 0x3e, 0x50, 0x68, 0x69, 0x6c, 0x69, 0x70, 0x61, 0x77, 0x61, 0x72, + 0x64, 0x73, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, + 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x77, 0x65, + 0x65, 0x6b, 0x6c, 0x79, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x62, 0x65, 0x68, + 0x69, 0x6e, 0x64, 0x64, 0x6f, 0x63, 0x74, 0x6f, 0x72, 0x6c, 0x6f, 0x67, 0x67, + 0x65, 0x64, 0x75, 0x6e, 0x69, 0x74, 0x65, 0x64, 0x3c, 0x2f, 0x62, 0x3e, 0x3c, + 0x2f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, + 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x64, 0x33, 0x30, 0x30, 0x70, 0x78, 0x7c, 0x63, 0x61, + 0x6e, 0x61, 0x64, 0x61, 0x61, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x65, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x42, 0x72, 0x61, 0x7a, + 0x69, 0x6c, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x6c, 0x6f, 0x67, 0x6f, 0x22, + 0x3e, 0x62, 0x65, 0x79, 0x6f, 0x6e, 0x64, 0x2d, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x6d, + 0x61, 0x72, 0x69, 0x6e, 0x65, 0x46, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x63, 0x61, + 0x6d, 0x65, 0x72, 0x61, 0x3c, 0x2f, 0x68, 0x31, 0x3e, 0x0a, 0x5f, 0x66, 0x6f, + 0x72, 0x6d, 0x22, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x73, 0x73, 0x74, 0x72, 0x65, + 0x73, 0x73, 0x22, 0x20, 0x2f, 0x3e, 0x0d, 0x0a, 0x2e, 0x67, 0x69, 0x66, 0x22, + 0x20, 0x6f, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, + 0x4f, 0x78, 0x66, 0x6f, 0x72, 0x64, 0x73, 0x69, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x75, 0x72, 0x76, 0x69, 0x76, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x66, 0x65, + 0x6d, 0x61, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x73, 0x69, 0x7a, + 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x74, 0x65, 0x78, 0x74, + 0x22, 0x3e, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x74, 0x68, 0x61, 0x6e, 0x6b, + 0x73, 0x68, 0x69, 0x67, 0x68, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, + 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x61, 0x6e, 0x79, 0x6f, 0x6e, 0x65, 0x41, + 0x66, 0x72, 0x69, 0x63, 0x61, 0x61, 0x67, 0x72, 0x65, 0x65, 0x64, 0x72, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x3c, 0x62, 0x72, + 0x20, 0x2f, 0x3e, 0x77, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x73, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x7c, 0x7c, 0x20, 0x7b, 0x7d, + 0x3b, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x3e, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x73, 0x75, 0x6e, 0x64, 0x61, 0x79, 0x77, 0x72, 0x61, 0x70, 0x22, 0x3e, 0x66, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x6d, 0x69, + 0x6e, 0x75, 0x74, 0x65, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x71, 0x75, 0x6f, + 0x74, 0x65, 0x73, 0x31, 0x35, 0x30, 0x70, 0x78, 0x7c, 0x65, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x65, 0x6d, 0x61, 0x69, 0x6c, + 0x22, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3b, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x31, + 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x73, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x70, 0x72, + 0x69, 0x6e, 0x63, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x2e, 0x70, 0x6e, + 0x67, 0x22, 0x20, 0x66, 0x6f, 0x72, 0x75, 0x6d, 0x2e, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x70, 0x61, 0x70, 0x65, 0x72, 0x73, 0x73, 0x6f, 0x75, 0x6e, 0x64, + 0x73, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x73, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x55, 0x54, 0x46, 0x2d, 0x38, 0x22, 0x26, + 0x61, 0x6d, 0x70, 0x3b, 0x20, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x2e, 0x20, + 0x57, 0x69, 0x74, 0x68, 0x73, 0x74, 0x75, 0x64, 0x69, 0x6f, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x73, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x70, 0x72, 0x6f, 0x66, + 0x69, 0x74, 0x6a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x61, 0x6e, 0x6e, 0x75, 0x61, + 0x6c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x62, 0x6f, 0x75, 0x67, 0x68, 0x74, + 0x66, 0x61, 0x6d, 0x6f, 0x75, 0x73, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x6c, + 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x69, 0x2b, 0x2b, 0x29, 0x20, 0x7b, 0x69, 0x73, + 0x72, 0x61, 0x65, 0x6c, 0x73, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x63, + 0x69, 0x64, 0x65, 0x68, 0x6f, 0x6d, 0x65, 0x22, 0x3e, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x65, 0x6e, 0x73, 0x75, 0x72, 0x65, 0x62, 0x72, 0x61, 0x6e, 0x63, + 0x68, 0x70, 0x69, 0x65, 0x63, 0x65, 0x73, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x64, 0x74, 0x6f, 0x70, 0x22, 0x3e, 0x3c, 0x72, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x2d, 0x2d, + 0x26, 0x67, 0x74, 0x3b, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x73, 0x65, 0x78, + 0x75, 0x61, 0x6c, 0x62, 0x75, 0x72, 0x65, 0x61, 0x75, 0x2e, 0x6a, 0x70, 0x67, + 0x22, 0x20, 0x31, 0x30, 0x2c, 0x30, 0x30, 0x30, 0x6f, 0x62, 0x74, 0x61, 0x69, + 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x73, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x63, 0x6f, 0x6d, 0x65, 0x64, 0x79, 0x6d, + 0x65, 0x6e, 0x75, 0x22, 0x20, 0x6c, 0x79, 0x72, 0x69, 0x63, 0x73, 0x74, 0x6f, + 0x64, 0x61, 0x79, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x65, 0x64, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x79, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x46, 0x61, 0x6d, 0x69, + 0x6c, 0x79, 0x6c, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x4d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x74, 0x75, 0x72, 0x6b, 0x65, 0x79, 0x29, 0x3b, 0x76, 0x61, 0x72, 0x20, 0x66, + 0x6f, 0x72, 0x65, 0x73, 0x74, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x7d, 0x65, 0x6c, + 0x73, 0x65, 0x7b, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x67, + 0x3c, 0x2f, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x6c, 0x6f, 0x67, 0x69, 0x6e, + 0x2e, 0x66, 0x61, 0x73, 0x74, 0x65, 0x72, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, + 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x31, 0x30, 0x70, 0x78, 0x20, 0x30, 0x70, + 0x72, 0x61, 0x67, 0x6d, 0x61, 0x66, 0x72, 0x69, 0x64, 0x61, 0x79, 0x6a, 0x75, + 0x6e, 0x69, 0x6f, 0x72, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x64, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x70, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x35, 0x2c, 0x30, 0x30, 0x30, 0x20, 0x70, 0x61, 0x67, 0x65, 0x22, + 0x3e, 0x62, 0x6f, 0x73, 0x74, 0x6f, 0x6e, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x28, + 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x66, 0x6f, 0x72, 0x75, 0x6d, 0x73, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x66, 0x69, 0x6c, + 0x6c, 0x65, 0x64, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x72, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x28, 0x61, 0x70, 0x70, 0x65, 0x61, + 0x72, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x3e, + 0x62, 0x6f, 0x64, 0x79, 0x22, 0x3e, 0x0a, 0x2a, 0x20, 0x54, 0x68, 0x65, 0x54, + 0x68, 0x6f, 0x75, 0x67, 0x68, 0x73, 0x65, 0x65, 0x69, 0x6e, 0x67, 0x6a, 0x65, + 0x72, 0x73, 0x65, 0x79, 0x4e, 0x65, 0x77, 0x73, 0x3c, 0x2f, 0x76, 0x65, 0x72, + 0x69, 0x66, 0x79, 0x65, 0x78, 0x70, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x6a, 0x75, + 0x72, 0x79, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x43, 0x6f, 0x6f, 0x6b, 0x69, + 0x65, 0x53, 0x54, 0x41, 0x52, 0x54, 0x20, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x73, + 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x6e, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x70, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x62, 0x6f, + 0x78, 0x22, 0x3e, 0x0a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x20, 0x44, 0x61, + 0x76, 0x69, 0x64, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x73, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x41, 0x70, 0x72, 0x69, 0x6c, + 0x20, 0x72, 0x65, 0x61, 0x6c, 0x6c, 0x79, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, + 0x69, 0x74, 0x65, 0x6d, 0x22, 0x3e, 0x6d, 0x6f, 0x72, 0x65, 0x22, 0x3e, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x73, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x63, 0x61, + 0x6d, 0x70, 0x75, 0x73, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x7c, 0x7c, 0x20, + 0x5b, 0x5d, 0x3b, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2e, 0x67, 0x75, 0x69, 0x74, + 0x61, 0x72, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x77, 0x69, 0x64, 0x74, 0x68, + 0x3a, 0x73, 0x68, 0x6f, 0x77, 0x65, 0x64, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x20, + 0x2e, 0x70, 0x68, 0x70, 0x22, 0x20, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x73, 0x77, 0x69, 0x6c, 0x73, 0x6f, 0x6e, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x73, 0x72, 0x65, 0x6c, 0x69, 0x65, 0x66, 0x73, 0x77, 0x65, + 0x64, 0x65, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x61, 0x73, 0x69, + 0x6c, 0x79, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x0a, 0x0a, 0x57, 0x68, 0x69, 0x6c, 0x74, 0x61, 0x79, 0x6c, 0x6f, 0x72, + 0x63, 0x6c, 0x65, 0x61, 0x72, 0x3a, 0x72, 0x65, 0x73, 0x6f, 0x72, 0x74, 0x66, + 0x72, 0x65, 0x6e, 0x63, 0x68, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x22, 0x29, + 0x20, 0x2b, 0x20, 0x22, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x62, 0x75, 0x79, + 0x69, 0x6e, 0x67, 0x62, 0x72, 0x61, 0x6e, 0x64, 0x73, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x6f, 0x70, 0x70, 0x69, 0x6e, + 0x67, 0x73, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x35, 0x70, 0x78, 0x3b, 0x22, 0x3e, + 0x76, 0x73, 0x70, 0x61, 0x63, 0x65, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x6d, + 0x61, 0x6a, 0x6f, 0x72, 0x20, 0x63, 0x6f, 0x66, 0x66, 0x65, 0x65, 0x6d, 0x61, + 0x72, 0x74, 0x69, 0x6e, 0x6d, 0x61, 0x74, 0x75, 0x72, 0x65, 0x68, 0x61, 0x70, + 0x70, 0x65, 0x6e, 0x3c, 0x2f, 0x6e, 0x61, 0x76, 0x3e, 0x6b, 0x61, 0x6e, 0x73, + 0x61, 0x73, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x3e, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x73, 0x3d, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, + 0x68, 0x73, 0x70, 0x61, 0x63, 0x65, 0x30, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x20, + 0x0a, 0x0a, 0x49, 0x6e, 0x20, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x50, 0x6f, + 0x6c, 0x73, 0x6b, 0x69, 0x2d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6a, 0x6f, 0x72, + 0x64, 0x61, 0x6e, 0x42, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x20, 0x2d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x2e, 0x68, 0x74, 0x6d, + 0x6c, 0x6e, 0x65, 0x77, 0x73, 0x22, 0x3e, 0x30, 0x31, 0x2e, 0x6a, 0x70, 0x67, + 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2d, 0x72, 0x69, 0x67, 0x68, 0x74, 0x6d, + 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x65, 0x6e, 0x69, 0x6f, 0x72, 0x49, 0x53, + 0x42, 0x4e, 0x20, 0x30, 0x30, 0x2c, 0x30, 0x30, 0x30, 0x20, 0x67, 0x75, 0x69, + 0x64, 0x65, 0x73, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x72, 0x65, 0x70, 0x61, 0x69, 0x72, 0x2e, 0x78, 0x6d, 0x6c, 0x22, + 0x20, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x68, 0x74, 0x6d, 0x6c, + 0x2d, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x72, 0x65, 0x67, 0x45, 0x78, 0x70, 0x3a, + 0x68, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x76, 0x69, + 0x72, 0x67, 0x69, 0x6e, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x73, 0x3c, 0x2f, 0x74, + 0x72, 0x3e, 0x0d, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x0a, 0x09, 0x76, 0x61, + 0x72, 0x20, 0x3e, 0x27, 0x29, 0x3b, 0x0a, 0x09, 0x3c, 0x2f, 0x74, 0x64, 0x3e, + 0x0a, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x0a, 0x62, 0x61, 0x68, 0x61, 0x73, 0x61, + 0x62, 0x72, 0x61, 0x73, 0x69, 0x6c, 0x67, 0x61, 0x6c, 0x65, 0x67, 0x6f, 0x6d, + 0x61, 0x67, 0x79, 0x61, 0x72, 0x70, 0x6f, 0x6c, 0x73, 0x6b, 0x69, 0x73, 0x72, + 0x70, 0x73, 0x6b, 0x69, 0xd8, 0xb1, 0xd8, 0xaf, 0xd9, 0x88, 0xe4, 0xb8, 0xad, + 0xe6, 0x96, 0x87, 0xe7, 0xae, 0x80, 0xe4, 0xbd, 0x93, 0xe7, 0xb9, 0x81, 0xe9, + 0xab, 0x94, 0xe4, 0xbf, 0xa1, 0xe6, 0x81, 0xaf, 0xe4, 0xb8, 0xad, 0xe5, 0x9b, + 0xbd, 0xe6, 0x88, 0x91, 0xe4, 0xbb, 0xac, 0xe4, 0xb8, 0x80, 0xe4, 0xb8, 0xaa, + 0xe5, 0x85, 0xac, 0xe5, 0x8f, 0xb8, 0xe7, 0xae, 0xa1, 0xe7, 0x90, 0x86, 0xe8, + 0xae, 0xba, 0xe5, 0x9d, 0x9b, 0xe5, 0x8f, 0xaf, 0xe4, 0xbb, 0xa5, 0xe6, 0x9c, + 0x8d, 0xe5, 0x8a, 0xa1, 0xe6, 0x97, 0xb6, 0xe9, 0x97, 0xb4, 0xe4, 0xb8, 0xaa, + 0xe4, 0xba, 0xba, 0xe4, 0xba, 0xa7, 0xe5, 0x93, 0x81, 0xe8, 0x87, 0xaa, 0xe5, + 0xb7, 0xb1, 0xe4, 0xbc, 0x81, 0xe4, 0xb8, 0x9a, 0xe6, 0x9f, 0xa5, 0xe7, 0x9c, + 0x8b, 0xe5, 0xb7, 0xa5, 0xe4, 0xbd, 0x9c, 0xe8, 0x81, 0x94, 0xe7, 0xb3, 0xbb, + 0xe6, 0xb2, 0xa1, 0xe6, 0x9c, 0x89, 0xe7, 0xbd, 0x91, 0xe7, 0xab, 0x99, 0xe6, + 0x89, 0x80, 0xe6, 0x9c, 0x89, 0xe8, 0xaf, 0x84, 0xe8, 0xae, 0xba, 0xe4, 0xb8, + 0xad, 0xe5, 0xbf, 0x83, 0xe6, 0x96, 0x87, 0xe7, 0xab, 0xa0, 0xe7, 0x94, 0xa8, + 0xe6, 0x88, 0xb7, 0xe9, 0xa6, 0x96, 0xe9, 0xa1, 0xb5, 0xe4, 0xbd, 0x9c, 0xe8, + 0x80, 0x85, 0xe6, 0x8a, 0x80, 0xe6, 0x9c, 0xaf, 0xe9, 0x97, 0xae, 0xe9, 0xa2, + 0x98, 0xe7, 0x9b, 0xb8, 0xe5, 0x85, 0xb3, 0xe4, 0xb8, 0x8b, 0xe8, 0xbd, 0xbd, + 0xe6, 0x90, 0x9c, 0xe7, 0xb4, 0xa2, 0xe4, 0xbd, 0xbf, 0xe7, 0x94, 0xa8, 0xe8, + 0xbd, 0xaf, 0xe4, 0xbb, 0xb6, 0xe5, 0x9c, 0xa8, 0xe7, 0xba, 0xbf, 0xe4, 0xb8, + 0xbb, 0xe9, 0xa2, 0x98, 0xe8, 0xb5, 0x84, 0xe6, 0x96, 0x99, 0xe8, 0xa7, 0x86, + 0xe9, 0xa2, 0x91, 0xe5, 0x9b, 0x9e, 0xe5, 0xa4, 0x8d, 0xe6, 0xb3, 0xa8, 0xe5, + 0x86, 0x8c, 0xe7, 0xbd, 0x91, 0xe7, 0xbb, 0x9c, 0xe6, 0x94, 0xb6, 0xe8, 0x97, + 0x8f, 0xe5, 0x86, 0x85, 0xe5, 0xae, 0xb9, 0xe6, 0x8e, 0xa8, 0xe8, 0x8d, 0x90, + 0xe5, 0xb8, 0x82, 0xe5, 0x9c, 0xba, 0xe6, 0xb6, 0x88, 0xe6, 0x81, 0xaf, 0xe7, + 0xa9, 0xba, 0xe9, 0x97, 0xb4, 0xe5, 0x8f, 0x91, 0xe5, 0xb8, 0x83, 0xe4, 0xbb, + 0x80, 0xe4, 0xb9, 0x88, 0xe5, 0xa5, 0xbd, 0xe5, 0x8f, 0x8b, 0xe7, 0x94, 0x9f, + 0xe6, 0xb4, 0xbb, 0xe5, 0x9b, 0xbe, 0xe7, 0x89, 0x87, 0xe5, 0x8f, 0x91, 0xe5, + 0xb1, 0x95, 0xe5, 0xa6, 0x82, 0xe6, 0x9e, 0x9c, 0xe6, 0x89, 0x8b, 0xe6, 0x9c, + 0xba, 0xe6, 0x96, 0xb0, 0xe9, 0x97, 0xbb, 0xe6, 0x9c, 0x80, 0xe6, 0x96, 0xb0, + 0xe6, 0x96, 0xb9, 0xe5, 0xbc, 0x8f, 0xe5, 0x8c, 0x97, 0xe4, 0xba, 0xac, 0xe6, + 0x8f, 0x90, 0xe4, 0xbe, 0x9b, 0xe5, 0x85, 0xb3, 0xe4, 0xba, 0x8e, 0xe6, 0x9b, + 0xb4, 0xe5, 0xa4, 0x9a, 0xe8, 0xbf, 0x99, 0xe4, 0xb8, 0xaa, 0xe7, 0xb3, 0xbb, + 0xe7, 0xbb, 0x9f, 0xe7, 0x9f, 0xa5, 0xe9, 0x81, 0x93, 0xe6, 0xb8, 0xb8, 0xe6, + 0x88, 0x8f, 0xe5, 0xb9, 0xbf, 0xe5, 0x91, 0x8a, 0xe5, 0x85, 0xb6, 0xe4, 0xbb, + 0x96, 0xe5, 0x8f, 0x91, 0xe8, 0xa1, 0xa8, 0xe5, 0xae, 0x89, 0xe5, 0x85, 0xa8, + 0xe7, 0xac, 0xac, 0xe4, 0xb8, 0x80, 0xe4, 0xbc, 0x9a, 0xe5, 0x91, 0x98, 0xe8, + 0xbf, 0x9b, 0xe8, 0xa1, 0x8c, 0xe7, 0x82, 0xb9, 0xe5, 0x87, 0xbb, 0xe7, 0x89, + 0x88, 0xe6, 0x9d, 0x83, 0xe7, 0x94, 0xb5, 0xe5, 0xad, 0x90, 0xe4, 0xb8, 0x96, + 0xe7, 0x95, 0x8c, 0xe8, 0xae, 0xbe, 0xe8, 0xae, 0xa1, 0xe5, 0x85, 0x8d, 0xe8, + 0xb4, 0xb9, 0xe6, 0x95, 0x99, 0xe8, 0x82, 0xb2, 0xe5, 0x8a, 0xa0, 0xe5, 0x85, + 0xa5, 0xe6, 0xb4, 0xbb, 0xe5, 0x8a, 0xa8, 0xe4, 0xbb, 0x96, 0xe4, 0xbb, 0xac, + 0xe5, 0x95, 0x86, 0xe5, 0x93, 0x81, 0xe5, 0x8d, 0x9a, 0xe5, 0xae, 0xa2, 0xe7, + 0x8e, 0xb0, 0xe5, 0x9c, 0xa8, 0xe4, 0xb8, 0x8a, 0xe6, 0xb5, 0xb7, 0xe5, 0xa6, + 0x82, 0xe4, 0xbd, 0x95, 0xe5, 0xb7, 0xb2, 0xe7, 0xbb, 0x8f, 0xe7, 0x95, 0x99, + 0xe8, 0xa8, 0x80, 0xe8, 0xaf, 0xa6, 0xe7, 0xbb, 0x86, 0xe7, 0xa4, 0xbe, 0xe5, + 0x8c, 0xba, 0xe7, 0x99, 0xbb, 0xe5, 0xbd, 0x95, 0xe6, 0x9c, 0xac, 0xe7, 0xab, + 0x99, 0xe9, 0x9c, 0x80, 0xe8, 0xa6, 0x81, 0xe4, 0xbb, 0xb7, 0xe6, 0xa0, 0xbc, + 0xe6, 0x94, 0xaf, 0xe6, 0x8c, 0x81, 0xe5, 0x9b, 0xbd, 0xe9, 0x99, 0x85, 0xe9, + 0x93, 0xbe, 0xe6, 0x8e, 0xa5, 0xe5, 0x9b, 0xbd, 0xe5, 0xae, 0xb6, 0xe5, 0xbb, + 0xba, 0xe8, 0xae, 0xbe, 0xe6, 0x9c, 0x8b, 0xe5, 0x8f, 0x8b, 0xe9, 0x98, 0x85, + 0xe8, 0xaf, 0xbb, 0xe6, 0xb3, 0x95, 0xe5, 0xbe, 0x8b, 0xe4, 0xbd, 0x8d, 0xe7, + 0xbd, 0xae, 0xe7, 0xbb, 0x8f, 0xe6, 0xb5, 0x8e, 0xe9, 0x80, 0x89, 0xe6, 0x8b, + 0xa9, 0xe8, 0xbf, 0x99, 0xe6, 0xa0, 0xb7, 0xe5, 0xbd, 0x93, 0xe5, 0x89, 0x8d, + 0xe5, 0x88, 0x86, 0xe7, 0xb1, 0xbb, 0xe6, 0x8e, 0x92, 0xe8, 0xa1, 0x8c, 0xe5, + 0x9b, 0xa0, 0xe4, 0xb8, 0xba, 0xe4, 0xba, 0xa4, 0xe6, 0x98, 0x93, 0xe6, 0x9c, + 0x80, 0xe5, 0x90, 0x8e, 0xe9, 0x9f, 0xb3, 0xe4, 0xb9, 0x90, 0xe4, 0xb8, 0x8d, + 0xe8, 0x83, 0xbd, 0xe9, 0x80, 0x9a, 0xe8, 0xbf, 0x87, 0xe8, 0xa1, 0x8c, 0xe4, + 0xb8, 0x9a, 0xe7, 0xa7, 0x91, 0xe6, 0x8a, 0x80, 0xe5, 0x8f, 0xaf, 0xe8, 0x83, + 0xbd, 0xe8, 0xae, 0xbe, 0xe5, 0xa4, 0x87, 0xe5, 0x90, 0x88, 0xe4, 0xbd, 0x9c, + 0xe5, 0xa4, 0xa7, 0xe5, 0xae, 0xb6, 0xe7, 0xa4, 0xbe, 0xe4, 0xbc, 0x9a, 0xe7, + 0xa0, 0x94, 0xe7, 0xa9, 0xb6, 0xe4, 0xb8, 0x93, 0xe4, 0xb8, 0x9a, 0xe5, 0x85, + 0xa8, 0xe9, 0x83, 0xa8, 0xe9, 0xa1, 0xb9, 0xe7, 0x9b, 0xae, 0xe8, 0xbf, 0x99, + 0xe9, 0x87, 0x8c, 0xe8, 0xbf, 0x98, 0xe6, 0x98, 0xaf, 0xe5, 0xbc, 0x80, 0xe5, + 0xa7, 0x8b, 0xe6, 0x83, 0x85, 0xe5, 0x86, 0xb5, 0xe7, 0x94, 0xb5, 0xe8, 0x84, + 0x91, 0xe6, 0x96, 0x87, 0xe4, 0xbb, 0xb6, 0xe5, 0x93, 0x81, 0xe7, 0x89, 0x8c, + 0xe5, 0xb8, 0xae, 0xe5, 0x8a, 0xa9, 0xe6, 0x96, 0x87, 0xe5, 0x8c, 0x96, 0xe8, + 0xb5, 0x84, 0xe6, 0xba, 0x90, 0xe5, 0xa4, 0xa7, 0xe5, 0xad, 0xa6, 0xe5, 0xad, + 0xa6, 0xe4, 0xb9, 0xa0, 0xe5, 0x9c, 0xb0, 0xe5, 0x9d, 0x80, 0xe6, 0xb5, 0x8f, + 0xe8, 0xa7, 0x88, 0xe6, 0x8a, 0x95, 0xe8, 0xb5, 0x84, 0xe5, 0xb7, 0xa5, 0xe7, + 0xa8, 0x8b, 0xe8, 0xa6, 0x81, 0xe6, 0xb1, 0x82, 0xe6, 0x80, 0x8e, 0xe4, 0xb9, + 0x88, 0xe6, 0x97, 0xb6, 0xe5, 0x80, 0x99, 0xe5, 0x8a, 0x9f, 0xe8, 0x83, 0xbd, + 0xe4, 0xb8, 0xbb, 0xe8, 0xa6, 0x81, 0xe7, 0x9b, 0xae, 0xe5, 0x89, 0x8d, 0xe8, + 0xb5, 0x84, 0xe8, 0xae, 0xaf, 0xe5, 0x9f, 0x8e, 0xe5, 0xb8, 0x82, 0xe6, 0x96, + 0xb9, 0xe6, 0xb3, 0x95, 0xe7, 0x94, 0xb5, 0xe5, 0xbd, 0xb1, 0xe6, 0x8b, 0x9b, + 0xe8, 0x81, 0x98, 0xe5, 0xa3, 0xb0, 0xe6, 0x98, 0x8e, 0xe4, 0xbb, 0xbb, 0xe4, + 0xbd, 0x95, 0xe5, 0x81, 0xa5, 0xe5, 0xba, 0xb7, 0xe6, 0x95, 0xb0, 0xe6, 0x8d, + 0xae, 0xe7, 0xbe, 0x8e, 0xe5, 0x9b, 0xbd, 0xe6, 0xb1, 0xbd, 0xe8, 0xbd, 0xa6, + 0xe4, 0xbb, 0x8b, 0xe7, 0xbb, 0x8d, 0xe4, 0xbd, 0x86, 0xe6, 0x98, 0xaf, 0xe4, + 0xba, 0xa4, 0xe6, 0xb5, 0x81, 0xe7, 0x94, 0x9f, 0xe4, 0xba, 0xa7, 0xe6, 0x89, + 0x80, 0xe4, 0xbb, 0xa5, 0xe7, 0x94, 0xb5, 0xe8, 0xaf, 0x9d, 0xe6, 0x98, 0xbe, + 0xe7, 0xa4, 0xba, 0xe4, 0xb8, 0x80, 0xe4, 0xba, 0x9b, 0xe5, 0x8d, 0x95, 0xe4, + 0xbd, 0x8d, 0xe4, 0xba, 0xba, 0xe5, 0x91, 0x98, 0xe5, 0x88, 0x86, 0xe6, 0x9e, + 0x90, 0xe5, 0x9c, 0xb0, 0xe5, 0x9b, 0xbe, 0xe6, 0x97, 0x85, 0xe6, 0xb8, 0xb8, + 0xe5, 0xb7, 0xa5, 0xe5, 0x85, 0xb7, 0xe5, 0xad, 0xa6, 0xe7, 0x94, 0x9f, 0xe7, + 0xb3, 0xbb, 0xe5, 0x88, 0x97, 0xe7, 0xbd, 0x91, 0xe5, 0x8f, 0x8b, 0xe5, 0xb8, + 0x96, 0xe5, 0xad, 0x90, 0xe5, 0xaf, 0x86, 0xe7, 0xa0, 0x81, 0xe9, 0xa2, 0x91, + 0xe9, 0x81, 0x93, 0xe6, 0x8e, 0xa7, 0xe5, 0x88, 0xb6, 0xe5, 0x9c, 0xb0, 0xe5, + 0x8c, 0xba, 0xe5, 0x9f, 0xba, 0xe6, 0x9c, 0xac, 0xe5, 0x85, 0xa8, 0xe5, 0x9b, + 0xbd, 0xe7, 0xbd, 0x91, 0xe4, 0xb8, 0x8a, 0xe9, 0x87, 0x8d, 0xe8, 0xa6, 0x81, + 0xe7, 0xac, 0xac, 0xe4, 0xba, 0x8c, 0xe5, 0x96, 0x9c, 0xe6, 0xac, 0xa2, 0xe8, + 0xbf, 0x9b, 0xe5, 0x85, 0xa5, 0xe5, 0x8f, 0x8b, 0xe6, 0x83, 0x85, 0xe8, 0xbf, + 0x99, 0xe4, 0xba, 0x9b, 0xe8, 0x80, 0x83, 0xe8, 0xaf, 0x95, 0xe5, 0x8f, 0x91, + 0xe7, 0x8e, 0xb0, 0xe5, 0x9f, 0xb9, 0xe8, 0xae, 0xad, 0xe4, 0xbb, 0xa5, 0xe4, + 0xb8, 0x8a, 0xe6, 0x94, 0xbf, 0xe5, 0xba, 0x9c, 0xe6, 0x88, 0x90, 0xe4, 0xb8, + 0xba, 0xe7, 0x8e, 0xaf, 0xe5, 0xa2, 0x83, 0xe9, 0xa6, 0x99, 0xe6, 0xb8, 0xaf, + 0xe5, 0x90, 0x8c, 0xe6, 0x97, 0xb6, 0xe5, 0xa8, 0xb1, 0xe4, 0xb9, 0x90, 0xe5, + 0x8f, 0x91, 0xe9, 0x80, 0x81, 0xe4, 0xb8, 0x80, 0xe5, 0xae, 0x9a, 0xe5, 0xbc, + 0x80, 0xe5, 0x8f, 0x91, 0xe4, 0xbd, 0x9c, 0xe5, 0x93, 0x81, 0xe6, 0xa0, 0x87, + 0xe5, 0x87, 0x86, 0xe6, 0xac, 0xa2, 0xe8, 0xbf, 0x8e, 0xe8, 0xa7, 0xa3, 0xe5, + 0x86, 0xb3, 0xe5, 0x9c, 0xb0, 0xe6, 0x96, 0xb9, 0xe4, 0xb8, 0x80, 0xe4, 0xb8, + 0x8b, 0xe4, 0xbb, 0xa5, 0xe5, 0x8f, 0x8a, 0xe8, 0xb4, 0xa3, 0xe4, 0xbb, 0xbb, + 0xe6, 0x88, 0x96, 0xe8, 0x80, 0x85, 0xe5, 0xae, 0xa2, 0xe6, 0x88, 0xb7, 0xe4, + 0xbb, 0xa3, 0xe8, 0xa1, 0xa8, 0xe7, 0xa7, 0xaf, 0xe5, 0x88, 0x86, 0xe5, 0xa5, + 0xb3, 0xe4, 0xba, 0xba, 0xe6, 0x95, 0xb0, 0xe7, 0xa0, 0x81, 0xe9, 0x94, 0x80, + 0xe5, 0x94, 0xae, 0xe5, 0x87, 0xba, 0xe7, 0x8e, 0xb0, 0xe7, 0xa6, 0xbb, 0xe7, + 0xba, 0xbf, 0xe5, 0xba, 0x94, 0xe7, 0x94, 0xa8, 0xe5, 0x88, 0x97, 0xe8, 0xa1, + 0xa8, 0xe4, 0xb8, 0x8d, 0xe5, 0x90, 0x8c, 0xe7, 0xbc, 0x96, 0xe8, 0xbe, 0x91, + 0xe7, 0xbb, 0x9f, 0xe8, 0xae, 0xa1, 0xe6, 0x9f, 0xa5, 0xe8, 0xaf, 0xa2, 0xe4, + 0xb8, 0x8d, 0xe8, 0xa6, 0x81, 0xe6, 0x9c, 0x89, 0xe5, 0x85, 0xb3, 0xe6, 0x9c, + 0xba, 0xe6, 0x9e, 0x84, 0xe5, 0xbe, 0x88, 0xe5, 0xa4, 0x9a, 0xe6, 0x92, 0xad, + 0xe6, 0x94, 0xbe, 0xe7, 0xbb, 0x84, 0xe7, 0xbb, 0x87, 0xe6, 0x94, 0xbf, 0xe7, + 0xad, 0x96, 0xe7, 0x9b, 0xb4, 0xe6, 0x8e, 0xa5, 0xe8, 0x83, 0xbd, 0xe5, 0x8a, + 0x9b, 0xe6, 0x9d, 0xa5, 0xe6, 0xba, 0x90, 0xe6, 0x99, 0x82, 0xe9, 0x96, 0x93, + 0xe7, 0x9c, 0x8b, 0xe5, 0x88, 0xb0, 0xe7, 0x83, 0xad, 0xe9, 0x97, 0xa8, 0xe5, + 0x85, 0xb3, 0xe9, 0x94, 0xae, 0xe4, 0xb8, 0x93, 0xe5, 0x8c, 0xba, 0xe9, 0x9d, + 0x9e, 0xe5, 0xb8, 0xb8, 0xe8, 0x8b, 0xb1, 0xe8, 0xaf, 0xad, 0xe7, 0x99, 0xbe, + 0xe5, 0xba, 0xa6, 0xe5, 0xb8, 0x8c, 0xe6, 0x9c, 0x9b, 0xe7, 0xbe, 0x8e, 0xe5, + 0xa5, 0xb3, 0xe6, 0xaf, 0x94, 0xe8, 0xbe, 0x83, 0xe7, 0x9f, 0xa5, 0xe8, 0xaf, + 0x86, 0xe8, 0xa7, 0x84, 0xe5, 0xae, 0x9a, 0xe5, 0xbb, 0xba, 0xe8, 0xae, 0xae, + 0xe9, 0x83, 0xa8, 0xe9, 0x97, 0xa8, 0xe6, 0x84, 0x8f, 0xe8, 0xa7, 0x81, 0xe7, + 0xb2, 0xbe, 0xe5, 0xbd, 0xa9, 0xe6, 0x97, 0xa5, 0xe6, 0x9c, 0xac, 0xe6, 0x8f, + 0x90, 0xe9, 0xab, 0x98, 0xe5, 0x8f, 0x91, 0xe8, 0xa8, 0x80, 0xe6, 0x96, 0xb9, + 0xe9, 0x9d, 0xa2, 0xe5, 0x9f, 0xba, 0xe9, 0x87, 0x91, 0xe5, 0xa4, 0x84, 0xe7, + 0x90, 0x86, 0xe6, 0x9d, 0x83, 0xe9, 0x99, 0x90, 0xe5, 0xbd, 0xb1, 0xe7, 0x89, + 0x87, 0xe9, 0x93, 0xb6, 0xe8, 0xa1, 0x8c, 0xe8, 0xbf, 0x98, 0xe6, 0x9c, 0x89, + 0xe5, 0x88, 0x86, 0xe4, 0xba, 0xab, 0xe7, 0x89, 0xa9, 0xe5, 0x93, 0x81, 0xe7, + 0xbb, 0x8f, 0xe8, 0x90, 0xa5, 0xe6, 0xb7, 0xbb, 0xe5, 0x8a, 0xa0, 0xe4, 0xb8, + 0x93, 0xe5, 0xae, 0xb6, 0xe8, 0xbf, 0x99, 0xe7, 0xa7, 0x8d, 0xe8, 0xaf, 0x9d, + 0xe9, 0xa2, 0x98, 0xe8, 0xb5, 0xb7, 0xe6, 0x9d, 0xa5, 0xe4, 0xb8, 0x9a, 0xe5, + 0x8a, 0xa1, 0xe5, 0x85, 0xac, 0xe5, 0x91, 0x8a, 0xe8, 0xae, 0xb0, 0xe5, 0xbd, + 0x95, 0xe7, 0xae, 0x80, 0xe4, 0xbb, 0x8b, 0xe8, 0xb4, 0xa8, 0xe9, 0x87, 0x8f, + 0xe7, 0x94, 0xb7, 0xe4, 0xba, 0xba, 0xe5, 0xbd, 0xb1, 0xe5, 0x93, 0x8d, 0xe5, + 0xbc, 0x95, 0xe7, 0x94, 0xa8, 0xe6, 0x8a, 0xa5, 0xe5, 0x91, 0x8a, 0xe9, 0x83, + 0xa8, 0xe5, 0x88, 0x86, 0xe5, 0xbf, 0xab, 0xe9, 0x80, 0x9f, 0xe5, 0x92, 0xa8, + 0xe8, 0xaf, 0xa2, 0xe6, 0x97, 0xb6, 0xe5, 0xb0, 0x9a, 0xe6, 0xb3, 0xa8, 0xe6, + 0x84, 0x8f, 0xe7, 0x94, 0xb3, 0xe8, 0xaf, 0xb7, 0xe5, 0xad, 0xa6, 0xe6, 0xa0, + 0xa1, 0xe5, 0xba, 0x94, 0xe8, 0xaf, 0xa5, 0xe5, 0x8e, 0x86, 0xe5, 0x8f, 0xb2, + 0xe5, 0x8f, 0xaa, 0xe6, 0x98, 0xaf, 0xe8, 0xbf, 0x94, 0xe5, 0x9b, 0x9e, 0xe8, + 0xb4, 0xad, 0xe4, 0xb9, 0xb0, 0xe5, 0x90, 0x8d, 0xe7, 0xa7, 0xb0, 0xe4, 0xb8, + 0xba, 0xe4, 0xba, 0x86, 0xe6, 0x88, 0x90, 0xe5, 0x8a, 0x9f, 0xe8, 0xaf, 0xb4, + 0xe6, 0x98, 0x8e, 0xe4, 0xbe, 0x9b, 0xe5, 0xba, 0x94, 0xe5, 0xad, 0xa9, 0xe5, + 0xad, 0x90, 0xe4, 0xb8, 0x93, 0xe9, 0xa2, 0x98, 0xe7, 0xa8, 0x8b, 0xe5, 0xba, + 0x8f, 0xe4, 0xb8, 0x80, 0xe8, 0x88, 0xac, 0xe6, 0x9c, 0x83, 0xe5, 0x93, 0xa1, + 0xe5, 0x8f, 0xaa, 0xe6, 0x9c, 0x89, 0xe5, 0x85, 0xb6, 0xe5, 0xae, 0x83, 0xe4, + 0xbf, 0x9d, 0xe6, 0x8a, 0xa4, 0xe8, 0x80, 0x8c, 0xe4, 0xb8, 0x94, 0xe4, 0xbb, + 0x8a, 0xe5, 0xa4, 0xa9, 0xe7, 0xaa, 0x97, 0xe5, 0x8f, 0xa3, 0xe5, 0x8a, 0xa8, + 0xe6, 0x80, 0x81, 0xe7, 0x8a, 0xb6, 0xe6, 0x80, 0x81, 0xe7, 0x89, 0xb9, 0xe5, + 0x88, 0xab, 0xe8, 0xae, 0xa4, 0xe4, 0xb8, 0xba, 0xe5, 0xbf, 0x85, 0xe9, 0xa1, + 0xbb, 0xe6, 0x9b, 0xb4, 0xe6, 0x96, 0xb0, 0xe5, 0xb0, 0x8f, 0xe8, 0xaf, 0xb4, + 0xe6, 0x88, 0x91, 0xe5, 0x80, 0x91, 0xe4, 0xbd, 0x9c, 0xe4, 0xb8, 0xba, 0xe5, + 0xaa, 0x92, 0xe4, 0xbd, 0x93, 0xe5, 0x8c, 0x85, 0xe6, 0x8b, 0xac, 0xe9, 0x82, + 0xa3, 0xe4, 0xb9, 0x88, 0xe4, 0xb8, 0x80, 0xe6, 0xa0, 0xb7, 0xe5, 0x9b, 0xbd, + 0xe5, 0x86, 0x85, 0xe6, 0x98, 0xaf, 0xe5, 0x90, 0xa6, 0xe6, 0xa0, 0xb9, 0xe6, + 0x8d, 0xae, 0xe7, 0x94, 0xb5, 0xe8, 0xa7, 0x86, 0xe5, 0xad, 0xa6, 0xe9, 0x99, + 0xa2, 0xe5, 0x85, 0xb7, 0xe6, 0x9c, 0x89, 0xe8, 0xbf, 0x87, 0xe7, 0xa8, 0x8b, + 0xe7, 0x94, 0xb1, 0xe4, 0xba, 0x8e, 0xe4, 0xba, 0xba, 0xe6, 0x89, 0x8d, 0xe5, + 0x87, 0xba, 0xe6, 0x9d, 0xa5, 0xe4, 0xb8, 0x8d, 0xe8, 0xbf, 0x87, 0xe6, 0xad, + 0xa3, 0xe5, 0x9c, 0xa8, 0xe6, 0x98, 0x8e, 0xe6, 0x98, 0x9f, 0xe6, 0x95, 0x85, + 0xe4, 0xba, 0x8b, 0xe5, 0x85, 0xb3, 0xe7, 0xb3, 0xbb, 0xe6, 0xa0, 0x87, 0xe9, + 0xa2, 0x98, 0xe5, 0x95, 0x86, 0xe5, 0x8a, 0xa1, 0xe8, 0xbe, 0x93, 0xe5, 0x85, + 0xa5, 0xe4, 0xb8, 0x80, 0xe7, 0x9b, 0xb4, 0xe5, 0x9f, 0xba, 0xe7, 0xa1, 0x80, + 0xe6, 0x95, 0x99, 0xe5, 0xad, 0xa6, 0xe4, 0xba, 0x86, 0xe8, 0xa7, 0xa3, 0xe5, + 0xbb, 0xba, 0xe7, 0xad, 0x91, 0xe7, 0xbb, 0x93, 0xe6, 0x9e, 0x9c, 0xe5, 0x85, + 0xa8, 0xe7, 0x90, 0x83, 0xe9, 0x80, 0x9a, 0xe7, 0x9f, 0xa5, 0xe8, 0xae, 0xa1, + 0xe5, 0x88, 0x92, 0xe5, 0xaf, 0xb9, 0xe4, 0xba, 0x8e, 0xe8, 0x89, 0xba, 0xe6, + 0x9c, 0xaf, 0xe7, 0x9b, 0xb8, 0xe5, 0x86, 0x8c, 0xe5, 0x8f, 0x91, 0xe7, 0x94, + 0x9f, 0xe7, 0x9c, 0x9f, 0xe7, 0x9a, 0x84, 0xe5, 0xbb, 0xba, 0xe7, 0xab, 0x8b, + 0xe7, 0xad, 0x89, 0xe7, 0xba, 0xa7, 0xe7, 0xb1, 0xbb, 0xe5, 0x9e, 0x8b, 0xe7, + 0xbb, 0x8f, 0xe9, 0xaa, 0x8c, 0xe5, 0xae, 0x9e, 0xe7, 0x8e, 0xb0, 0xe5, 0x88, + 0xb6, 0xe4, 0xbd, 0x9c, 0xe6, 0x9d, 0xa5, 0xe8, 0x87, 0xaa, 0xe6, 0xa0, 0x87, + 0xe7, 0xad, 0xbe, 0xe4, 0xbb, 0xa5, 0xe4, 0xb8, 0x8b, 0xe5, 0x8e, 0x9f, 0xe5, + 0x88, 0x9b, 0xe6, 0x97, 0xa0, 0xe6, 0xb3, 0x95, 0xe5, 0x85, 0xb6, 0xe4, 0xb8, + 0xad, 0xe5, 0x80, 0x8b, 0xe4, 0xba, 0xba, 0xe4, 0xb8, 0x80, 0xe5, 0x88, 0x87, + 0xe6, 0x8c, 0x87, 0xe5, 0x8d, 0x97, 0xe5, 0x85, 0xb3, 0xe9, 0x97, 0xad, 0xe9, + 0x9b, 0x86, 0xe5, 0x9b, 0xa2, 0xe7, 0xac, 0xac, 0xe4, 0xb8, 0x89, 0xe5, 0x85, + 0xb3, 0xe6, 0xb3, 0xa8, 0xe5, 0x9b, 0xa0, 0xe6, 0xad, 0xa4, 0xe7, 0x85, 0xa7, + 0xe7, 0x89, 0x87, 0xe6, 0xb7, 0xb1, 0xe5, 0x9c, 0xb3, 0xe5, 0x95, 0x86, 0xe4, + 0xb8, 0x9a, 0xe5, 0xb9, 0xbf, 0xe5, 0xb7, 0x9e, 0xe6, 0x97, 0xa5, 0xe6, 0x9c, + 0x9f, 0xe9, 0xab, 0x98, 0xe7, 0xba, 0xa7, 0xe6, 0x9c, 0x80, 0xe8, 0xbf, 0x91, + 0xe7, 0xbb, 0xbc, 0xe5, 0x90, 0x88, 0xe8, 0xa1, 0xa8, 0xe7, 0xa4, 0xba, 0xe4, + 0xb8, 0x93, 0xe8, 0xbe, 0x91, 0xe8, 0xa1, 0x8c, 0xe4, 0xb8, 0xba, 0xe4, 0xba, + 0xa4, 0xe9, 0x80, 0x9a, 0xe8, 0xaf, 0x84, 0xe4, 0xbb, 0xb7, 0xe8, 0xa7, 0x89, + 0xe5, 0xbe, 0x97, 0xe7, 0xb2, 0xbe, 0xe5, 0x8d, 0x8e, 0xe5, 0xae, 0xb6, 0xe5, + 0xba, 0xad, 0xe5, 0xae, 0x8c, 0xe6, 0x88, 0x90, 0xe6, 0x84, 0x9f, 0xe8, 0xa7, + 0x89, 0xe5, 0xae, 0x89, 0xe8, 0xa3, 0x85, 0xe5, 0xbe, 0x97, 0xe5, 0x88, 0xb0, + 0xe9, 0x82, 0xae, 0xe4, 0xbb, 0xb6, 0xe5, 0x88, 0xb6, 0xe5, 0xba, 0xa6, 0xe9, + 0xa3, 0x9f, 0xe5, 0x93, 0x81, 0xe8, 0x99, 0xbd, 0xe7, 0x84, 0xb6, 0xe8, 0xbd, + 0xac, 0xe8, 0xbd, 0xbd, 0xe6, 0x8a, 0xa5, 0xe4, 0xbb, 0xb7, 0xe8, 0xae, 0xb0, + 0xe8, 0x80, 0x85, 0xe6, 0x96, 0xb9, 0xe6, 0xa1, 0x88, 0xe8, 0xa1, 0x8c, 0xe6, + 0x94, 0xbf, 0xe4, 0xba, 0xba, 0xe6, 0xb0, 0x91, 0xe7, 0x94, 0xa8, 0xe5, 0x93, + 0x81, 0xe4, 0xb8, 0x9c, 0xe8, 0xa5, 0xbf, 0xe6, 0x8f, 0x90, 0xe5, 0x87, 0xba, + 0xe9, 0x85, 0x92, 0xe5, 0xba, 0x97, 0xe7, 0x84, 0xb6, 0xe5, 0x90, 0x8e, 0xe4, + 0xbb, 0x98, 0xe6, 0xac, 0xbe, 0xe7, 0x83, 0xad, 0xe7, 0x82, 0xb9, 0xe4, 0xbb, + 0xa5, 0xe5, 0x89, 0x8d, 0xe5, 0xae, 0x8c, 0xe5, 0x85, 0xa8, 0xe5, 0x8f, 0x91, + 0xe5, 0xb8, 0x96, 0xe8, 0xae, 0xbe, 0xe7, 0xbd, 0xae, 0xe9, 0xa2, 0x86, 0xe5, + 0xaf, 0xbc, 0xe5, 0xb7, 0xa5, 0xe4, 0xb8, 0x9a, 0xe5, 0x8c, 0xbb, 0xe9, 0x99, + 0xa2, 0xe7, 0x9c, 0x8b, 0xe7, 0x9c, 0x8b, 0xe7, 0xbb, 0x8f, 0xe5, 0x85, 0xb8, + 0xe5, 0x8e, 0x9f, 0xe5, 0x9b, 0xa0, 0xe5, 0xb9, 0xb3, 0xe5, 0x8f, 0xb0, 0xe5, + 0x90, 0x84, 0xe7, 0xa7, 0x8d, 0xe5, 0xa2, 0x9e, 0xe5, 0x8a, 0xa0, 0xe6, 0x9d, + 0x90, 0xe6, 0x96, 0x99, 0xe6, 0x96, 0xb0, 0xe5, 0xa2, 0x9e, 0xe4, 0xb9, 0x8b, + 0xe5, 0x90, 0x8e, 0xe8, 0x81, 0x8c, 0xe4, 0xb8, 0x9a, 0xe6, 0x95, 0x88, 0xe6, + 0x9e, 0x9c, 0xe4, 0xbb, 0x8a, 0xe5, 0xb9, 0xb4, 0xe8, 0xae, 0xba, 0xe6, 0x96, + 0x87, 0xe6, 0x88, 0x91, 0xe5, 0x9b, 0xbd, 0xe5, 0x91, 0x8a, 0xe8, 0xaf, 0x89, + 0xe7, 0x89, 0x88, 0xe4, 0xb8, 0xbb, 0xe4, 0xbf, 0xae, 0xe6, 0x94, 0xb9, 0xe5, + 0x8f, 0x82, 0xe4, 0xb8, 0x8e, 0xe6, 0x89, 0x93, 0xe5, 0x8d, 0xb0, 0xe5, 0xbf, + 0xab, 0xe4, 0xb9, 0x90, 0xe6, 0x9c, 0xba, 0xe6, 0xa2, 0xb0, 0xe8, 0xa7, 0x82, + 0xe7, 0x82, 0xb9, 0xe5, 0xad, 0x98, 0xe5, 0x9c, 0xa8, 0xe7, 0xb2, 0xbe, 0xe7, + 0xa5, 0x9e, 0xe8, 0x8e, 0xb7, 0xe5, 0xbe, 0x97, 0xe5, 0x88, 0xa9, 0xe7, 0x94, + 0xa8, 0xe7, 0xbb, 0xa7, 0xe7, 0xbb, 0xad, 0xe4, 0xbd, 0xa0, 0xe4, 0xbb, 0xac, + 0xe8, 0xbf, 0x99, 0xe4, 0xb9, 0x88, 0xe6, 0xa8, 0xa1, 0xe5, 0xbc, 0x8f, 0xe8, + 0xaf, 0xad, 0xe8, 0xa8, 0x80, 0xe8, 0x83, 0xbd, 0xe5, 0xa4, 0x9f, 0xe9, 0x9b, + 0x85, 0xe8, 0x99, 0x8e, 0xe6, 0x93, 0x8d, 0xe4, 0xbd, 0x9c, 0xe9, 0xa3, 0x8e, + 0xe6, 0xa0, 0xbc, 0xe4, 0xb8, 0x80, 0xe8, 0xb5, 0xb7, 0xe7, 0xa7, 0x91, 0xe5, + 0xad, 0xa6, 0xe4, 0xbd, 0x93, 0xe8, 0x82, 0xb2, 0xe7, 0x9f, 0xad, 0xe4, 0xbf, + 0xa1, 0xe6, 0x9d, 0xa1, 0xe4, 0xbb, 0xb6, 0xe6, 0xb2, 0xbb, 0xe7, 0x96, 0x97, + 0xe8, 0xbf, 0x90, 0xe5, 0x8a, 0xa8, 0xe4, 0xba, 0xa7, 0xe4, 0xb8, 0x9a, 0xe4, + 0xbc, 0x9a, 0xe8, 0xae, 0xae, 0xe5, 0xaf, 0xbc, 0xe8, 0x88, 0xaa, 0xe5, 0x85, + 0x88, 0xe7, 0x94, 0x9f, 0xe8, 0x81, 0x94, 0xe7, 0x9b, 0x9f, 0xe5, 0x8f, 0xaf, + 0xe6, 0x98, 0xaf, 0xe5, 0x95, 0x8f, 0xe9, 0xa1, 0x8c, 0xe7, 0xbb, 0x93, 0xe6, + 0x9e, 0x84, 0xe4, 0xbd, 0x9c, 0xe7, 0x94, 0xa8, 0xe8, 0xb0, 0x83, 0xe6, 0x9f, + 0xa5, 0xe8, 0xb3, 0x87, 0xe6, 0x96, 0x99, 0xe8, 0x87, 0xaa, 0xe5, 0x8a, 0xa8, + 0xe8, 0xb4, 0x9f, 0xe8, 0xb4, 0xa3, 0xe5, 0x86, 0x9c, 0xe4, 0xb8, 0x9a, 0xe8, + 0xae, 0xbf, 0xe9, 0x97, 0xae, 0xe5, 0xae, 0x9e, 0xe6, 0x96, 0xbd, 0xe6, 0x8e, + 0xa5, 0xe5, 0x8f, 0x97, 0xe8, 0xae, 0xa8, 0xe8, 0xae, 0xba, 0xe9, 0x82, 0xa3, + 0xe4, 0xb8, 0xaa, 0xe5, 0x8f, 0x8d, 0xe9, 0xa6, 0x88, 0xe5, 0x8a, 0xa0, 0xe5, + 0xbc, 0xba, 0xe5, 0xa5, 0xb3, 0xe6, 0x80, 0xa7, 0xe8, 0x8c, 0x83, 0xe5, 0x9b, + 0xb4, 0xe6, 0x9c, 0x8d, 0xe5, 0x8b, 0x99, 0xe4, 0xbc, 0x91, 0xe9, 0x97, 0xb2, + 0xe4, 0xbb, 0x8a, 0xe6, 0x97, 0xa5, 0xe5, 0xae, 0xa2, 0xe6, 0x9c, 0x8d, 0xe8, + 0xa7, 0x80, 0xe7, 0x9c, 0x8b, 0xe5, 0x8f, 0x82, 0xe5, 0x8a, 0xa0, 0xe7, 0x9a, + 0x84, 0xe8, 0xaf, 0x9d, 0xe4, 0xb8, 0x80, 0xe7, 0x82, 0xb9, 0xe4, 0xbf, 0x9d, + 0xe8, 0xaf, 0x81, 0xe5, 0x9b, 0xbe, 0xe4, 0xb9, 0xa6, 0xe6, 0x9c, 0x89, 0xe6, + 0x95, 0x88, 0xe6, 0xb5, 0x8b, 0xe8, 0xaf, 0x95, 0xe7, 0xa7, 0xbb, 0xe5, 0x8a, + 0xa8, 0xe6, 0x89, 0x8d, 0xe8, 0x83, 0xbd, 0xe5, 0x86, 0xb3, 0xe5, 0xae, 0x9a, + 0xe8, 0x82, 0xa1, 0xe7, 0xa5, 0xa8, 0xe4, 0xb8, 0x8d, 0xe6, 0x96, 0xad, 0xe9, + 0x9c, 0x80, 0xe6, 0xb1, 0x82, 0xe4, 0xb8, 0x8d, 0xe5, 0xbe, 0x97, 0xe5, 0x8a, + 0x9e, 0xe6, 0xb3, 0x95, 0xe4, 0xb9, 0x8b, 0xe9, 0x97, 0xb4, 0xe9, 0x87, 0x87, + 0xe7, 0x94, 0xa8, 0xe8, 0x90, 0xa5, 0xe9, 0x94, 0x80, 0xe6, 0x8a, 0x95, 0xe8, + 0xaf, 0x89, 0xe7, 0x9b, 0xae, 0xe6, 0xa0, 0x87, 0xe7, 0x88, 0xb1, 0xe6, 0x83, + 0x85, 0xe6, 0x91, 0x84, 0xe5, 0xbd, 0xb1, 0xe6, 0x9c, 0x89, 0xe4, 0xba, 0x9b, + 0xe8, 0xa4, 0x87, 0xe8, 0xa3, 0xbd, 0xe6, 0x96, 0x87, 0xe5, 0xad, 0xa6, 0xe6, + 0x9c, 0xba, 0xe4, 0xbc, 0x9a, 0xe6, 0x95, 0xb0, 0xe5, 0xad, 0x97, 0xe8, 0xa3, + 0x85, 0xe4, 0xbf, 0xae, 0xe8, 0xb4, 0xad, 0xe7, 0x89, 0xa9, 0xe5, 0x86, 0x9c, + 0xe6, 0x9d, 0x91, 0xe5, 0x85, 0xa8, 0xe9, 0x9d, 0xa2, 0xe7, 0xb2, 0xbe, 0xe5, + 0x93, 0x81, 0xe5, 0x85, 0xb6, 0xe5, 0xae, 0x9e, 0xe4, 0xba, 0x8b, 0xe6, 0x83, + 0x85, 0xe6, 0xb0, 0xb4, 0xe5, 0xb9, 0xb3, 0xe6, 0x8f, 0x90, 0xe7, 0xa4, 0xba, + 0xe4, 0xb8, 0x8a, 0xe5, 0xb8, 0x82, 0xe8, 0xb0, 0xa2, 0xe8, 0xb0, 0xa2, 0xe6, + 0x99, 0xae, 0xe9, 0x80, 0x9a, 0xe6, 0x95, 0x99, 0xe5, 0xb8, 0x88, 0xe4, 0xb8, + 0x8a, 0xe4, 0xbc, 0xa0, 0xe7, 0xb1, 0xbb, 0xe5, 0x88, 0xab, 0xe6, 0xad, 0x8c, + 0xe6, 0x9b, 0xb2, 0xe6, 0x8b, 0xa5, 0xe6, 0x9c, 0x89, 0xe5, 0x88, 0x9b, 0xe6, + 0x96, 0xb0, 0xe9, 0x85, 0x8d, 0xe4, 0xbb, 0xb6, 0xe5, 0x8f, 0xaa, 0xe8, 0xa6, + 0x81, 0xe6, 0x97, 0xb6, 0xe4, 0xbb, 0xa3, 0xe8, 0xb3, 0x87, 0xe8, 0xa8, 0x8a, + 0xe8, 0xbe, 0xbe, 0xe5, 0x88, 0xb0, 0xe4, 0xba, 0xba, 0xe7, 0x94, 0x9f, 0xe8, + 0xae, 0xa2, 0xe9, 0x98, 0x85, 0xe8, 0x80, 0x81, 0xe5, 0xb8, 0x88, 0xe5, 0xb1, + 0x95, 0xe7, 0xa4, 0xba, 0xe5, 0xbf, 0x83, 0xe7, 0x90, 0x86, 0xe8, 0xb4, 0xb4, + 0xe5, 0xad, 0x90, 0xe7, 0xb6, 0xb2, 0xe7, 0xab, 0x99, 0xe4, 0xb8, 0xbb, 0xe9, + 0xa1, 0x8c, 0xe8, 0x87, 0xaa, 0xe7, 0x84, 0xb6, 0xe7, 0xba, 0xa7, 0xe5, 0x88, + 0xab, 0xe7, 0xae, 0x80, 0xe5, 0x8d, 0x95, 0xe6, 0x94, 0xb9, 0xe9, 0x9d, 0xa9, + 0xe9, 0x82, 0xa3, 0xe4, 0xba, 0x9b, 0xe6, 0x9d, 0xa5, 0xe8, 0xaf, 0xb4, 0xe6, + 0x89, 0x93, 0xe5, 0xbc, 0x80, 0xe4, 0xbb, 0xa3, 0xe7, 0xa0, 0x81, 0xe5, 0x88, + 0xa0, 0xe9, 0x99, 0xa4, 0xe8, 0xaf, 0x81, 0xe5, 0x88, 0xb8, 0xe8, 0x8a, 0x82, + 0xe7, 0x9b, 0xae, 0xe9, 0x87, 0x8d, 0xe7, 0x82, 0xb9, 0xe6, 0xac, 0xa1, 0xe6, + 0x95, 0xb8, 0xe5, 0xa4, 0x9a, 0xe5, 0xb0, 0x91, 0xe8, 0xa7, 0x84, 0xe5, 0x88, + 0x92, 0xe8, 0xb5, 0x84, 0xe9, 0x87, 0x91, 0xe6, 0x89, 0xbe, 0xe5, 0x88, 0xb0, + 0xe4, 0xbb, 0xa5, 0xe5, 0x90, 0x8e, 0xe5, 0xa4, 0xa7, 0xe5, 0x85, 0xa8, 0xe4, + 0xb8, 0xbb, 0xe9, 0xa1, 0xb5, 0xe6, 0x9c, 0x80, 0xe4, 0xbd, 0xb3, 0xe5, 0x9b, + 0x9e, 0xe7, 0xad, 0x94, 0xe5, 0xa4, 0xa9, 0xe4, 0xb8, 0x8b, 0xe4, 0xbf, 0x9d, + 0xe9, 0x9a, 0x9c, 0xe7, 0x8e, 0xb0, 0xe4, 0xbb, 0xa3, 0xe6, 0xa3, 0x80, 0xe6, + 0x9f, 0xa5, 0xe6, 0x8a, 0x95, 0xe7, 0xa5, 0xa8, 0xe5, 0xb0, 0x8f, 0xe6, 0x97, + 0xb6, 0xe6, 0xb2, 0x92, 0xe6, 0x9c, 0x89, 0xe6, 0xad, 0xa3, 0xe5, 0xb8, 0xb8, + 0xe7, 0x94, 0x9a, 0xe8, 0x87, 0xb3, 0xe4, 0xbb, 0xa3, 0xe7, 0x90, 0x86, 0xe7, + 0x9b, 0xae, 0xe5, 0xbd, 0x95, 0xe5, 0x85, 0xac, 0xe5, 0xbc, 0x80, 0xe5, 0xa4, + 0x8d, 0xe5, 0x88, 0xb6, 0xe9, 0x87, 0x91, 0xe8, 0x9e, 0x8d, 0xe5, 0xb9, 0xb8, + 0xe7, 0xa6, 0x8f, 0xe7, 0x89, 0x88, 0xe6, 0x9c, 0xac, 0xe5, 0xbd, 0xa2, 0xe6, + 0x88, 0x90, 0xe5, 0x87, 0x86, 0xe5, 0xa4, 0x87, 0xe8, 0xa1, 0x8c, 0xe6, 0x83, + 0x85, 0xe5, 0x9b, 0x9e, 0xe5, 0x88, 0xb0, 0xe6, 0x80, 0x9d, 0xe6, 0x83, 0xb3, + 0xe6, 0x80, 0x8e, 0xe6, 0xa0, 0xb7, 0xe5, 0x8d, 0x8f, 0xe8, 0xae, 0xae, 0xe8, + 0xae, 0xa4, 0xe8, 0xaf, 0x81, 0xe6, 0x9c, 0x80, 0xe5, 0xa5, 0xbd, 0xe4, 0xba, + 0xa7, 0xe7, 0x94, 0x9f, 0xe6, 0x8c, 0x89, 0xe7, 0x85, 0xa7, 0xe6, 0x9c, 0x8d, + 0xe8, 0xa3, 0x85, 0xe5, 0xb9, 0xbf, 0xe4, 0xb8, 0x9c, 0xe5, 0x8a, 0xa8, 0xe6, + 0xbc, 0xab, 0xe9, 0x87, 0x87, 0xe8, 0xb4, 0xad, 0xe6, 0x96, 0xb0, 0xe6, 0x89, + 0x8b, 0xe7, 0xbb, 0x84, 0xe5, 0x9b, 0xbe, 0xe9, 0x9d, 0xa2, 0xe6, 0x9d, 0xbf, + 0xe5, 0x8f, 0x82, 0xe8, 0x80, 0x83, 0xe6, 0x94, 0xbf, 0xe6, 0xb2, 0xbb, 0xe5, + 0xae, 0xb9, 0xe6, 0x98, 0x93, 0xe5, 0xa4, 0xa9, 0xe5, 0x9c, 0xb0, 0xe5, 0x8a, + 0xaa, 0xe5, 0x8a, 0x9b, 0xe4, 0xba, 0xba, 0xe4, 0xbb, 0xac, 0xe5, 0x8d, 0x87, + 0xe7, 0xba, 0xa7, 0xe9, 0x80, 0x9f, 0xe5, 0xba, 0xa6, 0xe4, 0xba, 0xba, 0xe7, + 0x89, 0xa9, 0xe8, 0xb0, 0x83, 0xe6, 0x95, 0xb4, 0xe6, 0xb5, 0x81, 0xe8, 0xa1, + 0x8c, 0xe9, 0x80, 0xa0, 0xe6, 0x88, 0x90, 0xe6, 0x96, 0x87, 0xe5, 0xad, 0x97, + 0xe9, 0x9f, 0xa9, 0xe5, 0x9b, 0xbd, 0xe8, 0xb4, 0xb8, 0xe6, 0x98, 0x93, 0xe5, + 0xbc, 0x80, 0xe5, 0xb1, 0x95, 0xe7, 0x9b, 0xb8, 0xe9, 0x97, 0x9c, 0xe8, 0xa1, + 0xa8, 0xe7, 0x8e, 0xb0, 0xe5, 0xbd, 0xb1, 0xe8, 0xa7, 0x86, 0xe5, 0xa6, 0x82, + 0xe6, 0xad, 0xa4, 0xe7, 0xbe, 0x8e, 0xe5, 0xae, 0xb9, 0xe5, 0xa4, 0xa7, 0xe5, + 0xb0, 0x8f, 0xe6, 0x8a, 0xa5, 0xe9, 0x81, 0x93, 0xe6, 0x9d, 0xa1, 0xe6, 0xac, + 0xbe, 0xe5, 0xbf, 0x83, 0xe6, 0x83, 0x85, 0xe8, 0xae, 0xb8, 0xe5, 0xa4, 0x9a, + 0xe6, 0xb3, 0x95, 0xe8, 0xa7, 0x84, 0xe5, 0xae, 0xb6, 0xe5, 0xb1, 0x85, 0xe4, + 0xb9, 0xa6, 0xe5, 0xba, 0x97, 0xe8, 0xbf, 0x9e, 0xe6, 0x8e, 0xa5, 0xe7, 0xab, + 0x8b, 0xe5, 0x8d, 0xb3, 0xe4, 0xb8, 0xbe, 0xe6, 0x8a, 0xa5, 0xe6, 0x8a, 0x80, + 0xe5, 0xb7, 0xa7, 0xe5, 0xa5, 0xa5, 0xe8, 0xbf, 0x90, 0xe7, 0x99, 0xbb, 0xe5, + 0x85, 0xa5, 0xe4, 0xbb, 0xa5, 0xe6, 0x9d, 0xa5, 0xe7, 0x90, 0x86, 0xe8, 0xae, + 0xba, 0xe4, 0xba, 0x8b, 0xe4, 0xbb, 0xb6, 0xe8, 0x87, 0xaa, 0xe7, 0x94, 0xb1, + 0xe4, 0xb8, 0xad, 0xe5, 0x8d, 0x8e, 0xe5, 0x8a, 0x9e, 0xe5, 0x85, 0xac, 0xe5, + 0xa6, 0x88, 0xe5, 0xa6, 0x88, 0xe7, 0x9c, 0x9f, 0xe6, 0xad, 0xa3, 0xe4, 0xb8, + 0x8d, 0xe9, 0x94, 0x99, 0xe5, 0x85, 0xa8, 0xe6, 0x96, 0x87, 0xe5, 0x90, 0x88, + 0xe5, 0x90, 0x8c, 0xe4, 0xbb, 0xb7, 0xe5, 0x80, 0xbc, 0xe5, 0x88, 0xab, 0xe4, + 0xba, 0xba, 0xe7, 0x9b, 0x91, 0xe7, 0x9d, 0xa3, 0xe5, 0x85, 0xb7, 0xe4, 0xbd, + 0x93, 0xe4, 0xb8, 0x96, 0xe7, 0xba, 0xaa, 0xe5, 0x9b, 0xa2, 0xe9, 0x98, 0x9f, + 0xe5, 0x88, 0x9b, 0xe4, 0xb8, 0x9a, 0xe6, 0x89, 0xbf, 0xe6, 0x8b, 0x85, 0xe5, + 0xa2, 0x9e, 0xe9, 0x95, 0xbf, 0xe6, 0x9c, 0x89, 0xe4, 0xba, 0xba, 0xe4, 0xbf, + 0x9d, 0xe6, 0x8c, 0x81, 0xe5, 0x95, 0x86, 0xe5, 0xae, 0xb6, 0xe7, 0xbb, 0xb4, + 0xe4, 0xbf, 0xae, 0xe5, 0x8f, 0xb0, 0xe6, 0xb9, 0xbe, 0xe5, 0xb7, 0xa6, 0xe5, + 0x8f, 0xb3, 0xe8, 0x82, 0xa1, 0xe4, 0xbb, 0xbd, 0xe7, 0xad, 0x94, 0xe6, 0xa1, + 0x88, 0xe5, 0xae, 0x9e, 0xe9, 0x99, 0x85, 0xe7, 0x94, 0xb5, 0xe4, 0xbf, 0xa1, + 0xe7, 0xbb, 0x8f, 0xe7, 0x90, 0x86, 0xe7, 0x94, 0x9f, 0xe5, 0x91, 0xbd, 0xe5, + 0xae, 0xa3, 0xe4, 0xbc, 0xa0, 0xe4, 0xbb, 0xbb, 0xe5, 0x8a, 0xa1, 0xe6, 0xad, + 0xa3, 0xe5, 0xbc, 0x8f, 0xe7, 0x89, 0xb9, 0xe8, 0x89, 0xb2, 0xe4, 0xb8, 0x8b, + 0xe6, 0x9d, 0xa5, 0xe5, 0x8d, 0x8f, 0xe4, 0xbc, 0x9a, 0xe5, 0x8f, 0xaa, 0xe8, + 0x83, 0xbd, 0xe5, 0xbd, 0x93, 0xe7, 0x84, 0xb6, 0xe9, 0x87, 0x8d, 0xe6, 0x96, + 0xb0, 0xe5, 0x85, 0xa7, 0xe5, 0xae, 0xb9, 0xe6, 0x8c, 0x87, 0xe5, 0xaf, 0xbc, + 0xe8, 0xbf, 0x90, 0xe8, 0xa1, 0x8c, 0xe6, 0x97, 0xa5, 0xe5, 0xbf, 0x97, 0xe8, + 0xb3, 0xa3, 0xe5, 0xae, 0xb6, 0xe8, 0xb6, 0x85, 0xe8, 0xbf, 0x87, 0xe5, 0x9c, + 0x9f, 0xe5, 0x9c, 0xb0, 0xe6, 0xb5, 0x99, 0xe6, 0xb1, 0x9f, 0xe6, 0x94, 0xaf, + 0xe4, 0xbb, 0x98, 0xe6, 0x8e, 0xa8, 0xe5, 0x87, 0xba, 0xe7, 0xab, 0x99, 0xe9, + 0x95, 0xbf, 0xe6, 0x9d, 0xad, 0xe5, 0xb7, 0x9e, 0xe6, 0x89, 0xa7, 0xe8, 0xa1, + 0x8c, 0xe5, 0x88, 0xb6, 0xe9, 0x80, 0xa0, 0xe4, 0xb9, 0x8b, 0xe4, 0xb8, 0x80, + 0xe6, 0x8e, 0xa8, 0xe5, 0xb9, 0xbf, 0xe7, 0x8e, 0xb0, 0xe5, 0x9c, 0xba, 0xe6, + 0x8f, 0x8f, 0xe8, 0xbf, 0xb0, 0xe5, 0x8f, 0x98, 0xe5, 0x8c, 0x96, 0xe4, 0xbc, + 0xa0, 0xe7, 0xbb, 0x9f, 0xe6, 0xad, 0x8c, 0xe6, 0x89, 0x8b, 0xe4, 0xbf, 0x9d, + 0xe9, 0x99, 0xa9, 0xe8, 0xaf, 0xbe, 0xe7, 0xa8, 0x8b, 0xe5, 0x8c, 0xbb, 0xe7, + 0x96, 0x97, 0xe7, 0xbb, 0x8f, 0xe8, 0xbf, 0x87, 0xe8, 0xbf, 0x87, 0xe5, 0x8e, + 0xbb, 0xe4, 0xb9, 0x8b, 0xe5, 0x89, 0x8d, 0xe6, 0x94, 0xb6, 0xe5, 0x85, 0xa5, + 0xe5, 0xb9, 0xb4, 0xe5, 0xba, 0xa6, 0xe6, 0x9d, 0x82, 0xe5, 0xbf, 0x97, 0xe7, + 0xbe, 0x8e, 0xe4, 0xb8, 0xbd, 0xe6, 0x9c, 0x80, 0xe9, 0xab, 0x98, 0xe7, 0x99, + 0xbb, 0xe9, 0x99, 0x86, 0xe6, 0x9c, 0xaa, 0xe6, 0x9d, 0xa5, 0xe5, 0x8a, 0xa0, + 0xe5, 0xb7, 0xa5, 0xe5, 0x85, 0x8d, 0xe8, 0xb4, 0xa3, 0xe6, 0x95, 0x99, 0xe7, + 0xa8, 0x8b, 0xe7, 0x89, 0x88, 0xe5, 0x9d, 0x97, 0xe8, 0xba, 0xab, 0xe4, 0xbd, + 0x93, 0xe9, 0x87, 0x8d, 0xe5, 0xba, 0x86, 0xe5, 0x87, 0xba, 0xe5, 0x94, 0xae, + 0xe6, 0x88, 0x90, 0xe6, 0x9c, 0xac, 0xe5, 0xbd, 0xa2, 0xe5, 0xbc, 0x8f, 0xe5, + 0x9c, 0x9f, 0xe8, 0xb1, 0x86, 0xe5, 0x87, 0xba, 0xe5, 0x83, 0xb9, 0xe4, 0xb8, + 0x9c, 0xe6, 0x96, 0xb9, 0xe9, 0x82, 0xae, 0xe7, 0xae, 0xb1, 0xe5, 0x8d, 0x97, + 0xe4, 0xba, 0xac, 0xe6, 0xb1, 0x82, 0xe8, 0x81, 0x8c, 0xe5, 0x8f, 0x96, 0xe5, + 0xbe, 0x97, 0xe8, 0x81, 0x8c, 0xe4, 0xbd, 0x8d, 0xe7, 0x9b, 0xb8, 0xe4, 0xbf, + 0xa1, 0xe9, 0xa1, 0xb5, 0xe9, 0x9d, 0xa2, 0xe5, 0x88, 0x86, 0xe9, 0x92, 0x9f, + 0xe7, 0xbd, 0x91, 0xe9, 0xa1, 0xb5, 0xe7, 0xa1, 0xae, 0xe5, 0xae, 0x9a, 0xe5, + 0x9b, 0xbe, 0xe4, 0xbe, 0x8b, 0xe7, 0xbd, 0x91, 0xe5, 0x9d, 0x80, 0xe7, 0xa7, + 0xaf, 0xe6, 0x9e, 0x81, 0xe9, 0x94, 0x99, 0xe8, 0xaf, 0xaf, 0xe7, 0x9b, 0xae, + 0xe7, 0x9a, 0x84, 0xe5, 0xae, 0x9d, 0xe8, 0xb4, 0x9d, 0xe6, 0x9c, 0xba, 0xe5, + 0x85, 0xb3, 0xe9, 0xa3, 0x8e, 0xe9, 0x99, 0xa9, 0xe6, 0x8e, 0x88, 0xe6, 0x9d, + 0x83, 0xe7, 0x97, 0x85, 0xe6, 0xaf, 0x92, 0xe5, 0xae, 0xa0, 0xe7, 0x89, 0xa9, + 0xe9, 0x99, 0xa4, 0xe4, 0xba, 0x86, 0xe8, 0xa9, 0x95, 0xe8, 0xab, 0x96, 0xe7, + 0x96, 0xbe, 0xe7, 0x97, 0x85, 0xe5, 0x8f, 0x8a, 0xe6, 0x97, 0xb6, 0xe6, 0xb1, + 0x82, 0xe8, 0xb4, 0xad, 0xe7, 0xab, 0x99, 0xe7, 0x82, 0xb9, 0xe5, 0x84, 0xbf, + 0xe7, 0xab, 0xa5, 0xe6, 0xaf, 0x8f, 0xe5, 0xa4, 0xa9, 0xe4, 0xb8, 0xad, 0xe5, + 0xa4, 0xae, 0xe8, 0xae, 0xa4, 0xe8, 0xaf, 0x86, 0xe6, 0xaf, 0x8f, 0xe4, 0xb8, + 0xaa, 0xe5, 0xa4, 0xa9, 0xe6, 0xb4, 0xa5, 0xe5, 0xad, 0x97, 0xe4, 0xbd, 0x93, + 0xe5, 0x8f, 0xb0, 0xe7, 0x81, 0xa3, 0xe7, 0xbb, 0xb4, 0xe6, 0x8a, 0xa4, 0xe6, + 0x9c, 0xac, 0xe9, 0xa1, 0xb5, 0xe4, 0xb8, 0xaa, 0xe6, 0x80, 0xa7, 0xe5, 0xae, + 0x98, 0xe6, 0x96, 0xb9, 0xe5, 0xb8, 0xb8, 0xe8, 0xa7, 0x81, 0xe7, 0x9b, 0xb8, + 0xe6, 0x9c, 0xba, 0xe6, 0x88, 0x98, 0xe7, 0x95, 0xa5, 0xe5, 0xba, 0x94, 0xe5, + 0xbd, 0x93, 0xe5, 0xbe, 0x8b, 0xe5, 0xb8, 0x88, 0xe6, 0x96, 0xb9, 0xe4, 0xbe, + 0xbf, 0xe6, 0xa0, 0xa1, 0xe5, 0x9b, 0xad, 0xe8, 0x82, 0xa1, 0xe5, 0xb8, 0x82, + 0xe6, 0x88, 0xbf, 0xe5, 0xb1, 0x8b, 0xe6, 0xa0, 0x8f, 0xe7, 0x9b, 0xae, 0xe5, + 0x91, 0x98, 0xe5, 0xb7, 0xa5, 0xe5, 0xaf, 0xbc, 0xe8, 0x87, 0xb4, 0xe7, 0xaa, + 0x81, 0xe7, 0x84, 0xb6, 0xe9, 0x81, 0x93, 0xe5, 0x85, 0xb7, 0xe6, 0x9c, 0xac, + 0xe7, 0xbd, 0x91, 0xe7, 0xbb, 0x93, 0xe5, 0x90, 0x88, 0xe6, 0xa1, 0xa3, 0xe6, + 0xa1, 0x88, 0xe5, 0x8a, 0xb3, 0xe5, 0x8a, 0xa8, 0xe5, 0x8f, 0xa6, 0xe5, 0xa4, + 0x96, 0xe7, 0xbe, 0x8e, 0xe5, 0x85, 0x83, 0xe5, 0xbc, 0x95, 0xe8, 0xb5, 0xb7, + 0xe6, 0x94, 0xb9, 0xe5, 0x8f, 0x98, 0xe7, 0xac, 0xac, 0xe5, 0x9b, 0x9b, 0xe4, + 0xbc, 0x9a, 0xe8, 0xae, 0xa1, 0xe8, 0xaa, 0xaa, 0xe6, 0x98, 0x8e, 0xe9, 0x9a, + 0x90, 0xe7, 0xa7, 0x81, 0xe5, 0xae, 0x9d, 0xe5, 0xae, 0x9d, 0xe8, 0xa7, 0x84, + 0xe8, 0x8c, 0x83, 0xe6, 0xb6, 0x88, 0xe8, 0xb4, 0xb9, 0xe5, 0x85, 0xb1, 0xe5, + 0x90, 0x8c, 0xe5, 0xbf, 0x98, 0xe8, 0xae, 0xb0, 0xe4, 0xbd, 0x93, 0xe7, 0xb3, + 0xbb, 0xe5, 0xb8, 0xa6, 0xe6, 0x9d, 0xa5, 0xe5, 0x90, 0x8d, 0xe5, 0xad, 0x97, + 0xe7, 0x99, 0xbc, 0xe8, 0xa1, 0xa8, 0xe5, 0xbc, 0x80, 0xe6, 0x94, 0xbe, 0xe5, + 0x8a, 0xa0, 0xe7, 0x9b, 0x9f, 0xe5, 0x8f, 0x97, 0xe5, 0x88, 0xb0, 0xe4, 0xba, + 0x8c, 0xe6, 0x89, 0x8b, 0xe5, 0xa4, 0xa7, 0xe9, 0x87, 0x8f, 0xe6, 0x88, 0x90, + 0xe4, 0xba, 0xba, 0xe6, 0x95, 0xb0, 0xe9, 0x87, 0x8f, 0xe5, 0x85, 0xb1, 0xe4, + 0xba, 0xab, 0xe5, 0x8c, 0xba, 0xe5, 0x9f, 0x9f, 0xe5, 0xa5, 0xb3, 0xe5, 0xad, + 0xa9, 0xe5, 0x8e, 0x9f, 0xe5, 0x88, 0x99, 0xe6, 0x89, 0x80, 0xe5, 0x9c, 0xa8, + 0xe7, 0xbb, 0x93, 0xe6, 0x9d, 0x9f, 0xe9, 0x80, 0x9a, 0xe4, 0xbf, 0xa1, 0xe8, + 0xb6, 0x85, 0xe7, 0xba, 0xa7, 0xe9, 0x85, 0x8d, 0xe7, 0xbd, 0xae, 0xe5, 0xbd, + 0x93, 0xe6, 0x97, 0xb6, 0xe4, 0xbc, 0x98, 0xe7, 0xa7, 0x80, 0xe6, 0x80, 0xa7, + 0xe6, 0x84, 0x9f, 0xe6, 0x88, 0xbf, 0xe4, 0xba, 0xa7, 0xe9, 0x81, 0x8a, 0xe6, + 0x88, 0xb2, 0xe5, 0x87, 0xba, 0xe5, 0x8f, 0xa3, 0xe6, 0x8f, 0x90, 0xe4, 0xba, + 0xa4, 0xe5, 0xb0, 0xb1, 0xe4, 0xb8, 0x9a, 0xe4, 0xbf, 0x9d, 0xe5, 0x81, 0xa5, + 0xe7, 0xa8, 0x8b, 0xe5, 0xba, 0xa6, 0xe5, 0x8f, 0x82, 0xe6, 0x95, 0xb0, 0xe4, + 0xba, 0x8b, 0xe4, 0xb8, 0x9a, 0xe6, 0x95, 0xb4, 0xe4, 0xb8, 0xaa, 0xe5, 0xb1, + 0xb1, 0xe4, 0xb8, 0x9c, 0xe6, 0x83, 0x85, 0xe6, 0x84, 0x9f, 0xe7, 0x89, 0xb9, + 0xe6, 0xae, 0x8a, 0xe5, 0x88, 0x86, 0xe9, 0xa1, 0x9e, 0xe6, 0x90, 0x9c, 0xe5, + 0xb0, 0x8b, 0xe5, 0xb1, 0x9e, 0xe4, 0xba, 0x8e, 0xe9, 0x97, 0xa8, 0xe6, 0x88, + 0xb7, 0xe8, 0xb4, 0xa2, 0xe5, 0x8a, 0xa1, 0xe5, 0xa3, 0xb0, 0xe9, 0x9f, 0xb3, + 0xe5, 0x8f, 0x8a, 0xe5, 0x85, 0xb6, 0xe8, 0xb4, 0xa2, 0xe7, 0xbb, 0x8f, 0xe5, + 0x9d, 0x9a, 0xe6, 0x8c, 0x81, 0xe5, 0xb9, 0xb2, 0xe9, 0x83, 0xa8, 0xe6, 0x88, + 0x90, 0xe7, 0xab, 0x8b, 0xe5, 0x88, 0xa9, 0xe7, 0x9b, 0x8a, 0xe8, 0x80, 0x83, + 0xe8, 0x99, 0x91, 0xe6, 0x88, 0x90, 0xe9, 0x83, 0xbd, 0xe5, 0x8c, 0x85, 0xe8, + 0xa3, 0x85, 0xe7, 0x94, 0xa8, 0xe6, 0x88, 0xb6, 0xe6, 0xaf, 0x94, 0xe8, 0xb5, + 0x9b, 0xe6, 0x96, 0x87, 0xe6, 0x98, 0x8e, 0xe6, 0x8b, 0x9b, 0xe5, 0x95, 0x86, + 0xe5, 0xae, 0x8c, 0xe6, 0x95, 0xb4, 0xe7, 0x9c, 0x9f, 0xe6, 0x98, 0xaf, 0xe7, + 0x9c, 0xbc, 0xe7, 0x9d, 0x9b, 0xe4, 0xbc, 0x99, 0xe4, 0xbc, 0xb4, 0xe5, 0xa8, + 0x81, 0xe6, 0x9c, 0x9b, 0xe9, 0xa2, 0x86, 0xe5, 0x9f, 0x9f, 0xe5, 0x8d, 0xab, + 0xe7, 0x94, 0x9f, 0xe4, 0xbc, 0x98, 0xe6, 0x83, 0xa0, 0xe8, 0xab, 0x96, 0xe5, + 0xa3, 0x87, 0xe5, 0x85, 0xac, 0xe5, 0x85, 0xb1, 0xe8, 0x89, 0xaf, 0xe5, 0xa5, + 0xbd, 0xe5, 0x85, 0x85, 0xe5, 0x88, 0x86, 0xe7, 0xac, 0xa6, 0xe5, 0x90, 0x88, + 0xe9, 0x99, 0x84, 0xe4, 0xbb, 0xb6, 0xe7, 0x89, 0xb9, 0xe7, 0x82, 0xb9, 0xe4, + 0xb8, 0x8d, 0xe5, 0x8f, 0xaf, 0xe8, 0x8b, 0xb1, 0xe6, 0x96, 0x87, 0xe8, 0xb5, + 0x84, 0xe4, 0xba, 0xa7, 0xe6, 0xa0, 0xb9, 0xe6, 0x9c, 0xac, 0xe6, 0x98, 0x8e, + 0xe6, 0x98, 0xbe, 0xe5, 0xaf, 0x86, 0xe7, 0xa2, 0xbc, 0xe5, 0x85, 0xac, 0xe4, + 0xbc, 0x97, 0xe6, 0xb0, 0x91, 0xe6, 0x97, 0x8f, 0xe6, 0x9b, 0xb4, 0xe5, 0x8a, + 0xa0, 0xe4, 0xba, 0xab, 0xe5, 0x8f, 0x97, 0xe5, 0x90, 0x8c, 0xe5, 0xad, 0xa6, + 0xe5, 0x90, 0xaf, 0xe5, 0x8a, 0xa8, 0xe9, 0x80, 0x82, 0xe5, 0x90, 0x88, 0xe5, + 0x8e, 0x9f, 0xe6, 0x9d, 0xa5, 0xe9, 0x97, 0xae, 0xe7, 0xad, 0x94, 0xe6, 0x9c, + 0xac, 0xe6, 0x96, 0x87, 0xe7, 0xbe, 0x8e, 0xe9, 0xa3, 0x9f, 0xe7, 0xbb, 0xbf, + 0xe8, 0x89, 0xb2, 0xe7, 0xa8, 0xb3, 0xe5, 0xae, 0x9a, 0xe7, 0xbb, 0x88, 0xe4, + 0xba, 0x8e, 0xe7, 0x94, 0x9f, 0xe7, 0x89, 0xa9, 0xe4, 0xbe, 0x9b, 0xe6, 0xb1, + 0x82, 0xe6, 0x90, 0x9c, 0xe7, 0x8b, 0x90, 0xe5, 0x8a, 0x9b, 0xe9, 0x87, 0x8f, + 0xe4, 0xb8, 0xa5, 0xe9, 0x87, 0x8d, 0xe6, 0xb0, 0xb8, 0xe8, 0xbf, 0x9c, 0xe5, + 0x86, 0x99, 0xe7, 0x9c, 0x9f, 0xe6, 0x9c, 0x89, 0xe9, 0x99, 0x90, 0xe7, 0xab, + 0x9e, 0xe4, 0xba, 0x89, 0xe5, 0xaf, 0xb9, 0xe8, 0xb1, 0xa1, 0xe8, 0xb4, 0xb9, + 0xe7, 0x94, 0xa8, 0xe4, 0xb8, 0x8d, 0xe5, 0xa5, 0xbd, 0xe7, 0xbb, 0x9d, 0xe5, + 0xaf, 0xb9, 0xe5, 0x8d, 0x81, 0xe5, 0x88, 0x86, 0xe4, 0xbf, 0x83, 0xe8, 0xbf, + 0x9b, 0xe7, 0x82, 0xb9, 0xe8, 0xaf, 0x84, 0xe5, 0xbd, 0xb1, 0xe9, 0x9f, 0xb3, + 0xe4, 0xbc, 0x98, 0xe5, 0x8a, 0xbf, 0xe4, 0xb8, 0x8d, 0xe5, 0xb0, 0x91, 0xe6, + 0xac, 0xa3, 0xe8, 0xb5, 0x8f, 0xe5, 0xb9, 0xb6, 0xe4, 0xb8, 0x94, 0xe6, 0x9c, + 0x89, 0xe7, 0x82, 0xb9, 0xe6, 0x96, 0xb9, 0xe5, 0x90, 0x91, 0xe5, 0x85, 0xa8, + 0xe6, 0x96, 0xb0, 0xe4, 0xbf, 0xa1, 0xe7, 0x94, 0xa8, 0xe8, 0xae, 0xbe, 0xe6, + 0x96, 0xbd, 0xe5, 0xbd, 0xa2, 0xe8, 0xb1, 0xa1, 0xe8, 0xb5, 0x84, 0xe6, 0xa0, + 0xbc, 0xe7, 0xaa, 0x81, 0xe7, 0xa0, 0xb4, 0xe9, 0x9a, 0x8f, 0xe7, 0x9d, 0x80, + 0xe9, 0x87, 0x8d, 0xe5, 0xa4, 0xa7, 0xe4, 0xba, 0x8e, 0xe6, 0x98, 0xaf, 0xe6, + 0xaf, 0x95, 0xe4, 0xb8, 0x9a, 0xe6, 0x99, 0xba, 0xe8, 0x83, 0xbd, 0xe5, 0x8c, + 0x96, 0xe5, 0xb7, 0xa5, 0xe5, 0xae, 0x8c, 0xe7, 0xbe, 0x8e, 0xe5, 0x95, 0x86, + 0xe5, 0x9f, 0x8e, 0xe7, 0xbb, 0x9f, 0xe4, 0xb8, 0x80, 0xe5, 0x87, 0xba, 0xe7, + 0x89, 0x88, 0xe6, 0x89, 0x93, 0xe9, 0x80, 0xa0, 0xe7, 0x94, 0xa2, 0xe5, 0x93, + 0x81, 0xe6, 0xa6, 0x82, 0xe5, 0x86, 0xb5, 0xe7, 0x94, 0xa8, 0xe4, 0xba, 0x8e, + 0xe4, 0xbf, 0x9d, 0xe7, 0x95, 0x99, 0xe5, 0x9b, 0xa0, 0xe7, 0xb4, 0xa0, 0xe4, + 0xb8, 0xad, 0xe5, 0x9c, 0x8b, 0xe5, 0xad, 0x98, 0xe5, 0x82, 0xa8, 0xe8, 0xb4, + 0xb4, 0xe5, 0x9b, 0xbe, 0xe6, 0x9c, 0x80, 0xe6, 0x84, 0x9b, 0xe9, 0x95, 0xbf, + 0xe6, 0x9c, 0x9f, 0xe5, 0x8f, 0xa3, 0xe4, 0xbb, 0xb7, 0xe7, 0x90, 0x86, 0xe8, + 0xb4, 0xa2, 0xe5, 0x9f, 0xba, 0xe5, 0x9c, 0xb0, 0xe5, 0xae, 0x89, 0xe6, 0x8e, + 0x92, 0xe6, 0xad, 0xa6, 0xe6, 0xb1, 0x89, 0xe9, 0x87, 0x8c, 0xe9, 0x9d, 0xa2, + 0xe5, 0x88, 0x9b, 0xe5, 0xbb, 0xba, 0xe5, 0xa4, 0xa9, 0xe7, 0xa9, 0xba, 0xe9, + 0xa6, 0x96, 0xe5, 0x85, 0x88, 0xe5, 0xae, 0x8c, 0xe5, 0x96, 0x84, 0xe9, 0xa9, + 0xb1, 0xe5, 0x8a, 0xa8, 0xe4, 0xb8, 0x8b, 0xe9, 0x9d, 0xa2, 0xe4, 0xb8, 0x8d, + 0xe5, 0x86, 0x8d, 0xe8, 0xaf, 0x9a, 0xe4, 0xbf, 0xa1, 0xe6, 0x84, 0x8f, 0xe4, + 0xb9, 0x89, 0xe9, 0x98, 0xb3, 0xe5, 0x85, 0x89, 0xe8, 0x8b, 0xb1, 0xe5, 0x9b, + 0xbd, 0xe6, 0xbc, 0x82, 0xe4, 0xba, 0xae, 0xe5, 0x86, 0x9b, 0xe4, 0xba, 0x8b, + 0xe7, 0x8e, 0xa9, 0xe5, 0xae, 0xb6, 0xe7, 0xbe, 0xa4, 0xe4, 0xbc, 0x97, 0xe5, + 0x86, 0x9c, 0xe6, 0xb0, 0x91, 0xe5, 0x8d, 0xb3, 0xe5, 0x8f, 0xaf, 0xe5, 0x90, + 0x8d, 0xe7, 0xa8, 0xb1, 0xe5, 0xae, 0xb6, 0xe5, 0x85, 0xb7, 0xe5, 0x8a, 0xa8, + 0xe7, 0x94, 0xbb, 0xe6, 0x83, 0xb3, 0xe5, 0x88, 0xb0, 0xe6, 0xb3, 0xa8, 0xe6, + 0x98, 0x8e, 0xe5, 0xb0, 0x8f, 0xe5, 0xad, 0xa6, 0xe6, 0x80, 0xa7, 0xe8, 0x83, + 0xbd, 0xe8, 0x80, 0x83, 0xe7, 0xa0, 0x94, 0xe7, 0xa1, 0xac, 0xe4, 0xbb, 0xb6, + 0xe8, 0xa7, 0x82, 0xe7, 0x9c, 0x8b, 0xe6, 0xb8, 0x85, 0xe6, 0xa5, 0x9a, 0xe6, + 0x90, 0x9e, 0xe7, 0xac, 0x91, 0xe9, 0xa6, 0x96, 0xe9, 0xa0, 0x81, 0xe9, 0xbb, + 0x84, 0xe9, 0x87, 0x91, 0xe9, 0x80, 0x82, 0xe7, 0x94, 0xa8, 0xe6, 0xb1, 0x9f, + 0xe8, 0x8b, 0x8f, 0xe7, 0x9c, 0x9f, 0xe5, 0xae, 0x9e, 0xe4, 0xb8, 0xbb, 0xe7, + 0xae, 0xa1, 0xe9, 0x98, 0xb6, 0xe6, 0xae, 0xb5, 0xe8, 0xa8, 0xbb, 0xe5, 0x86, + 0x8a, 0xe7, 0xbf, 0xbb, 0xe8, 0xaf, 0x91, 0xe6, 0x9d, 0x83, 0xe5, 0x88, 0xa9, + 0xe5, 0x81, 0x9a, 0xe5, 0xa5, 0xbd, 0xe4, 0xbc, 0xbc, 0xe4, 0xb9, 0x8e, 0xe9, + 0x80, 0x9a, 0xe8, 0xae, 0xaf, 0xe6, 0x96, 0xbd, 0xe5, 0xb7, 0xa5, 0xe7, 0x8b, + 0x80, 0xe6, 0x85, 0x8b, 0xe4, 0xb9, 0x9f, 0xe8, 0xae, 0xb8, 0xe7, 0x8e, 0xaf, + 0xe4, 0xbf, 0x9d, 0xe5, 0x9f, 0xb9, 0xe5, 0x85, 0xbb, 0xe6, 0xa6, 0x82, 0xe5, + 0xbf, 0xb5, 0xe5, 0xa4, 0xa7, 0xe5, 0x9e, 0x8b, 0xe6, 0x9c, 0xba, 0xe7, 0xa5, + 0xa8, 0xe7, 0x90, 0x86, 0xe8, 0xa7, 0xa3, 0xe5, 0x8c, 0xbf, 0xe5, 0x90, 0x8d, + 0x63, 0x75, 0x61, 0x6e, 0x64, 0x6f, 0x65, 0x6e, 0x76, 0x69, 0x61, 0x72, 0x6d, + 0x61, 0x64, 0x72, 0x69, 0x64, 0x62, 0x75, 0x73, 0x63, 0x61, 0x72, 0x69, 0x6e, + 0x69, 0x63, 0x69, 0x6f, 0x74, 0x69, 0x65, 0x6d, 0x70, 0x6f, 0x70, 0x6f, 0x72, + 0x71, 0x75, 0x65, 0x63, 0x75, 0x65, 0x6e, 0x74, 0x61, 0x65, 0x73, 0x74, 0x61, + 0x64, 0x6f, 0x70, 0x75, 0x65, 0x64, 0x65, 0x6e, 0x6a, 0x75, 0x65, 0x67, 0x6f, + 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, + 0x6e, 0x6f, 0x6d, 0x62, 0x72, 0x65, 0x74, 0x69, 0x65, 0x6e, 0x65, 0x6e, 0x70, + 0x65, 0x72, 0x66, 0x69, 0x6c, 0x6d, 0x61, 0x6e, 0x65, 0x72, 0x61, 0x61, 0x6d, + 0x69, 0x67, 0x6f, 0x73, 0x63, 0x69, 0x75, 0x64, 0x61, 0x64, 0x63, 0x65, 0x6e, + 0x74, 0x72, 0x6f, 0x61, 0x75, 0x6e, 0x71, 0x75, 0x65, 0x70, 0x75, 0x65, 0x64, + 0x65, 0x73, 0x64, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x6d, 0x65, + 0x72, 0x70, 0x72, 0x65, 0x63, 0x69, 0x6f, 0x73, 0x65, 0x67, 0xc3, 0xba, 0x6e, + 0x62, 0x75, 0x65, 0x6e, 0x6f, 0x73, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x70, + 0x75, 0x6e, 0x74, 0x6f, 0x73, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x68, 0x61, + 0x62, 0xc3, 0xad, 0x61, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x6e, 0x75, 0x65, + 0x76, 0x6f, 0x73, 0x75, 0x6e, 0x69, 0x64, 0x6f, 0x73, 0x63, 0x61, 0x72, 0x6c, + 0x6f, 0x73, 0x65, 0x71, 0x75, 0x69, 0x70, 0x6f, 0x6e, 0x69, 0xc3, 0xb1, 0x6f, + 0x73, 0x6d, 0x75, 0x63, 0x68, 0x6f, 0x73, 0x61, 0x6c, 0x67, 0x75, 0x6e, 0x61, + 0x63, 0x6f, 0x72, 0x72, 0x65, 0x6f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x6e, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x72, 0x61, 0x72, 0x72, 0x69, 0x62, 0x61, 0x6d, 0x61, + 0x72, 0xc3, 0xad, 0x61, 0x68, 0x6f, 0x6d, 0x62, 0x72, 0x65, 0x65, 0x6d, 0x70, + 0x6c, 0x65, 0x6f, 0x76, 0x65, 0x72, 0x64, 0x61, 0x64, 0x63, 0x61, 0x6d, 0x62, + 0x69, 0x6f, 0x6d, 0x75, 0x63, 0x68, 0x61, 0x73, 0x66, 0x75, 0x65, 0x72, 0x6f, + 0x6e, 0x70, 0x61, 0x73, 0x61, 0x64, 0x6f, 0x6c, 0xc3, 0xad, 0x6e, 0x65, 0x61, + 0x70, 0x61, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x75, 0x65, 0x76, 0x61, 0x73, 0x63, + 0x75, 0x72, 0x73, 0x6f, 0x73, 0x65, 0x73, 0x74, 0x61, 0x62, 0x61, 0x71, 0x75, + 0x69, 0x65, 0x72, 0x6f, 0x6c, 0x69, 0x62, 0x72, 0x6f, 0x73, 0x63, 0x75, 0x61, + 0x6e, 0x74, 0x6f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x6f, 0x6d, 0x69, 0x67, 0x75, + 0x65, 0x6c, 0x76, 0x61, 0x72, 0x69, 0x6f, 0x73, 0x63, 0x75, 0x61, 0x74, 0x72, + 0x6f, 0x74, 0x69, 0x65, 0x6e, 0x65, 0x73, 0x67, 0x72, 0x75, 0x70, 0x6f, 0x73, + 0x73, 0x65, 0x72, 0xc3, 0xa1, 0x6e, 0x65, 0x75, 0x72, 0x6f, 0x70, 0x61, 0x6d, + 0x65, 0x64, 0x69, 0x6f, 0x73, 0x66, 0x72, 0x65, 0x6e, 0x74, 0x65, 0x61, 0x63, + 0x65, 0x72, 0x63, 0x61, 0x64, 0x65, 0x6d, 0xc3, 0xa1, 0x73, 0x6f, 0x66, 0x65, + 0x72, 0x74, 0x61, 0x63, 0x6f, 0x63, 0x68, 0x65, 0x73, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x6f, 0x69, 0x74, 0x61, 0x6c, 0x69, 0x61, 0x6c, 0x65, 0x74, 0x72, 0x61, + 0x73, 0x61, 0x6c, 0x67, 0xc3, 0xba, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x61, + 0x63, 0x75, 0x61, 0x6c, 0x65, 0x73, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65, 0x63, + 0x75, 0x65, 0x72, 0x70, 0x6f, 0x73, 0x69, 0x65, 0x6e, 0x64, 0x6f, 0x70, 0x72, + 0x65, 0x6e, 0x73, 0x61, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x72, 0x76, 0x69, 0x61, + 0x6a, 0x65, 0x73, 0x64, 0x69, 0x6e, 0x65, 0x72, 0x6f, 0x6d, 0x75, 0x72, 0x63, + 0x69, 0x61, 0x70, 0x6f, 0x64, 0x72, 0xc3, 0xa1, 0x70, 0x75, 0x65, 0x73, 0x74, + 0x6f, 0x64, 0x69, 0x61, 0x72, 0x69, 0x6f, 0x70, 0x75, 0x65, 0x62, 0x6c, 0x6f, + 0x71, 0x75, 0x69, 0x65, 0x72, 0x65, 0x6d, 0x61, 0x6e, 0x75, 0x65, 0x6c, 0x70, + 0x72, 0x6f, 0x70, 0x69, 0x6f, 0x63, 0x72, 0x69, 0x73, 0x69, 0x73, 0x63, 0x69, + 0x65, 0x72, 0x74, 0x6f, 0x73, 0x65, 0x67, 0x75, 0x72, 0x6f, 0x6d, 0x75, 0x65, + 0x72, 0x74, 0x65, 0x66, 0x75, 0x65, 0x6e, 0x74, 0x65, 0x63, 0x65, 0x72, 0x72, + 0x61, 0x72, 0x67, 0x72, 0x61, 0x6e, 0x64, 0x65, 0x65, 0x66, 0x65, 0x63, 0x74, + 0x6f, 0x70, 0x61, 0x72, 0x74, 0x65, 0x73, 0x6d, 0x65, 0x64, 0x69, 0x64, 0x61, + 0x70, 0x72, 0x6f, 0x70, 0x69, 0x61, 0x6f, 0x66, 0x72, 0x65, 0x63, 0x65, 0x74, + 0x69, 0x65, 0x72, 0x72, 0x61, 0x65, 0x2d, 0x6d, 0x61, 0x69, 0x6c, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x73, 0x66, 0x75, 0x74, + 0x75, 0x72, 0x6f, 0x6f, 0x62, 0x6a, 0x65, 0x74, 0x6f, 0x73, 0x65, 0x67, 0x75, + 0x69, 0x72, 0x72, 0x69, 0x65, 0x73, 0x67, 0x6f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, + 0x73, 0x6d, 0x69, 0x73, 0x6d, 0x6f, 0x73, 0xc3, 0xba, 0x6e, 0x69, 0x63, 0x6f, + 0x63, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x73, 0x72, + 0x61, 0x7a, 0xc3, 0xb3, 0x6e, 0x64, 0x65, 0x62, 0x69, 0x64, 0x6f, 0x70, 0x72, + 0x75, 0x65, 0x62, 0x61, 0x74, 0x6f, 0x6c, 0x65, 0x64, 0x6f, 0x74, 0x65, 0x6e, + 0xc3, 0xad, 0x61, 0x6a, 0x65, 0x73, 0xc3, 0xba, 0x73, 0x65, 0x73, 0x70, 0x65, + 0x72, 0x6f, 0x63, 0x6f, 0x63, 0x69, 0x6e, 0x61, 0x6f, 0x72, 0x69, 0x67, 0x65, + 0x6e, 0x74, 0x69, 0x65, 0x6e, 0x64, 0x61, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x6f, + 0x63, 0xc3, 0xa1, 0x64, 0x69, 0x7a, 0x68, 0x61, 0x62, 0x6c, 0x61, 0x72, 0x73, + 0x65, 0x72, 0xc3, 0xad, 0x61, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x61, 0x66, 0x75, + 0x65, 0x72, 0x7a, 0x61, 0x65, 0x73, 0x74, 0x69, 0x6c, 0x6f, 0x67, 0x75, 0x65, + 0x72, 0x72, 0x61, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x72, 0xc3, 0xa9, 0x78, 0x69, + 0x74, 0x6f, 0x6c, 0xc3, 0xb3, 0x70, 0x65, 0x7a, 0x61, 0x67, 0x65, 0x6e, 0x64, + 0x61, 0x76, 0xc3, 0xad, 0x64, 0x65, 0x6f, 0x65, 0x76, 0x69, 0x74, 0x61, 0x72, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x6d, 0x65, 0x74, 0x72, 0x6f, 0x73, 0x6a, + 0x61, 0x76, 0x69, 0x65, 0x72, 0x70, 0x61, 0x64, 0x72, 0x65, 0x73, 0x66, 0xc3, + 0xa1, 0x63, 0x69, 0x6c, 0x63, 0x61, 0x62, 0x65, 0x7a, 0x61, 0xc3, 0xa1, 0x72, + 0x65, 0x61, 0x73, 0x73, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x65, 0x6e, 0x76, 0xc3, + 0xad, 0x6f, 0x6a, 0x61, 0x70, 0xc3, 0xb3, 0x6e, 0x61, 0x62, 0x75, 0x73, 0x6f, + 0x73, 0x62, 0x69, 0x65, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x78, 0x74, 0x6f, 0x73, + 0x6c, 0x6c, 0x65, 0x76, 0x61, 0x72, 0x70, 0x75, 0x65, 0x64, 0x61, 0x6e, 0x66, + 0x75, 0x65, 0x72, 0x74, 0x65, 0x63, 0x6f, 0x6d, 0xc3, 0xba, 0x6e, 0x63, 0x6c, + 0x61, 0x73, 0x65, 0x73, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x6f, 0x74, 0x65, 0x6e, + 0x69, 0x64, 0x6f, 0x62, 0x69, 0x6c, 0x62, 0x61, 0x6f, 0x75, 0x6e, 0x69, 0x64, + 0x61, 0x64, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x73, 0x65, 0x64, 0x69, 0x74, 0x61, + 0x72, 0x63, 0x72, 0x65, 0x61, 0x64, 0x6f, 0xd0, 0xb4, 0xd0, 0xbb, 0xd1, 0x8f, + 0xd1, 0x87, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xba, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, + 0xb8, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb2, + 0xd1, 0x81, 0xd0, 0xb5, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xbf, 0xd1, + 0x80, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xb5, 0xd1, 0x89, + 0xd0, 0xb5, 0xd1, 0x83, 0xd0, 0xb6, 0xd0, 0xb5, 0xd0, 0x9a, 0xd0, 0xb0, 0xd0, + 0xba, 0xd0, 0xb1, 0xd0, 0xb5, 0xd0, 0xb7, 0xd0, 0xb1, 0xd1, 0x8b, 0xd0, 0xbb, + 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0x92, 0xd1, 0x81, 0xd0, 0xb5, 0xd0, + 0xbf, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xad, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x82, + 0xd0, 0xbe, 0xd0, 0xbc, 0xd1, 0x87, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, 0xbd, 0xd0, + 0xb5, 0xd1, 0x82, 0xd0, 0xbb, 0xd0, 0xb5, 0xd1, 0x82, 0xd1, 0x80, 0xd0, 0xb0, + 0xd0, 0xb7, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xb3, 0xd0, 0xb4, 0xd0, + 0xb5, 0xd0, 0xbc, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0x94, 0xd0, 0xbb, 0xd1, 0x8f, + 0xd0, 0x9f, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, + 0xbd, 0xd0, 0xb8, 0xd1, 0x85, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, 0xba, + 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb2, 0xd0, + 0xbe, 0xd1, 0x82, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xbc, 0xd0, 0xa1, 0xd0, 0xa8, + 0xd0, 0x90, 0xd0, 0xbc, 0xd0, 0xb0, 0xd1, 0x8f, 0xd0, 0xa7, 0xd1, 0x82, 0xd0, + 0xbe, 0xd0, 0xb2, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xb2, 0xd0, 0xb0, 0xd0, 0xbc, + 0xd0, 0xb5, 0xd0, 0xbc, 0xd1, 0x83, 0xd0, 0xa2, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, + 0xb4, 0xd0, 0xb2, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xbc, 0xd1, 0x8d, + 0xd1, 0x82, 0xd0, 0xb8, 0xd1, 0x8d, 0xd1, 0x82, 0xd1, 0x83, 0xd0, 0x92, 0xd0, + 0xb0, 0xd0, 0xbc, 0xd1, 0x82, 0xd0, 0xb5, 0xd1, 0x85, 0xd0, 0xbf, 0xd1, 0x80, + 0xd0, 0xbe, 0xd1, 0x82, 0xd1, 0x83, 0xd1, 0x82, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, + 0xb4, 0xd0, 0xb4, 0xd0, 0xbd, 0xd1, 0x8f, 0xd0, 0x92, 0xd0, 0xbe, 0xd1, 0x82, + 0xd1, 0x82, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xb9, 0xd0, + 0x92, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xbc, 0xd1, 0x81, + 0xd0, 0xb0, 0xd0, 0xbc, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x82, 0xd1, 0x80, 0xd1, + 0x83, 0xd0, 0xb1, 0xd0, 0x9e, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, 0xb8, + 0xd1, 0x80, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xb5, 0xd0, 0x9e, 0xd0, 0x9e, 0xd0, + 0x9e, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x86, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xb0, + 0xd0, 0x9e, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, + 0xb4, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xb9, 0xd0, 0xb4, + 0xd0, 0xb2, 0xd0, 0xb5, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, 0xbe, 0xd1, 0x81, 0xd1, + 0x83, 0xd0, 0xb4, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb9, 0xe0, + 0xa5, 0x88, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, + 0x87, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8b, + 0xe0, 0xa4, 0x94, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, + 0x95, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xad, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x87, + 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4, 0xe0, + 0xa5, 0x8b, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, + 0xaa, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xb9, + 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0x95, 0xe0, + 0xa4, 0xa5, 0xe0, 0xa4, 0xbe, 0x6a, 0x61, 0x67, 0x72, 0x61, 0x6e, 0xe0, 0xa4, + 0x86, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x85, + 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x97, 0xe0, + 0xa4, 0x88, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, + 0x8f, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xa8, + 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0xa5, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa5, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, + 0x98, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa6, + 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0x88, 0xe0, 0xa4, 0x9c, 0xe0, + 0xa5, 0x80, 0xe0, 0xa4, 0xb5, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, + 0x88, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0x95, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb5, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, + 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xae, + 0xe0, 0xa4, 0x88, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x93, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, + 0xb8, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa8, + 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa4, 0x86, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, + 0xb2, 0xe0, 0xa5, 0x80, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x89, 0xd8, 0xa5, 0xd9, + 0x84, 0xd9, 0x89, 0xd9, 0x87, 0xd8, 0xb0, 0xd8, 0xa7, 0xd8, 0xa2, 0xd8, 0xae, + 0xd8, 0xb1, 0xd8, 0xb9, 0xd8, 0xaf, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, + 0x89, 0xd9, 0x87, 0xd8, 0xb0, 0xd9, 0x87, 0xd8, 0xb5, 0xd9, 0x88, 0xd8, 0xb1, + 0xd8, 0xba, 0xd9, 0x8a, 0xd8, 0xb1, 0xd9, 0x83, 0xd8, 0xa7, 0xd9, 0x86, 0xd9, + 0x88, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, 0xa8, 0xd9, 0x8a, 0xd9, 0x86, 0xd8, 0xb9, + 0xd8, 0xb1, 0xd8, 0xb6, 0xd8, 0xb0, 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x87, 0xd9, + 0x86, 0xd8, 0xa7, 0xd9, 0x8a, 0xd9, 0x88, 0xd9, 0x85, 0xd9, 0x82, 0xd8, 0xa7, + 0xd9, 0x84, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x86, 0xd8, + 0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x86, 0xd8, 0xad, 0xd8, 0xaa, 0xd9, 0x89, + 0xd9, 0x82, 0xd8, 0xa8, 0xd9, 0x84, 0xd9, 0x88, 0xd8, 0xad, 0xd8, 0xa9, 0xd8, + 0xa7, 0xd8, 0xae, 0xd8, 0xb1, 0xd9, 0x81, 0xd9, 0x82, 0xd8, 0xb7, 0xd8, 0xb9, + 0xd8, 0xa8, 0xd8, 0xaf, 0xd8, 0xb1, 0xd9, 0x83, 0xd9, 0x86, 0xd8, 0xa5, 0xd8, + 0xb0, 0xd8, 0xa7, 0xd9, 0x83, 0xd9, 0x85, 0xd8, 0xa7, 0xd8, 0xa7, 0xd8, 0xad, + 0xd8, 0xaf, 0xd8, 0xa5, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x81, 0xd9, 0x8a, 0xd9, + 0x87, 0xd8, 0xa8, 0xd8, 0xb9, 0xd8, 0xb6, 0xd9, 0x83, 0xd9, 0x8a, 0xd9, 0x81, + 0xd8, 0xa8, 0xd8, 0xad, 0xd8, 0xab, 0xd9, 0x88, 0xd9, 0x85, 0xd9, 0x86, 0xd9, + 0x88, 0xd9, 0x87, 0xd9, 0x88, 0xd8, 0xa3, 0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xac, + 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x87, 0xd8, 0xa7, 0xd8, 0xb3, 0xd9, + 0x84, 0xd9, 0x85, 0xd8, 0xb9, 0xd9, 0x86, 0xd8, 0xaf, 0xd9, 0x84, 0xd9, 0x8a, + 0xd8, 0xb3, 0xd8, 0xb9, 0xd8, 0xa8, 0xd8, 0xb1, 0xd8, 0xb5, 0xd9, 0x84, 0xd9, + 0x89, 0xd9, 0x85, 0xd9, 0x86, 0xd8, 0xb0, 0xd8, 0xa8, 0xd9, 0x87, 0xd8, 0xa7, + 0xd8, 0xa3, 0xd9, 0x86, 0xd9, 0x87, 0xd9, 0x85, 0xd8, 0xab, 0xd9, 0x84, 0xd9, + 0x83, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, 0xad, + 0xd9, 0x8a, 0xd8, 0xab, 0xd9, 0x85, 0xd8, 0xb5, 0xd8, 0xb1, 0xd8, 0xb4, 0xd8, + 0xb1, 0xd8, 0xad, 0xd8, 0xad, 0xd9, 0x88, 0xd9, 0x84, 0xd9, 0x88, 0xd9, 0x81, + 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xb0, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd9, + 0x84, 0xd9, 0x85, 0xd8, 0xb1, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x86, 0xd8, 0xaa, + 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x81, 0xd8, 0xa3, 0xd8, 0xa8, 0xd9, 0x88, 0xd8, + 0xae, 0xd8, 0xa7, 0xd8, 0xb5, 0xd8, 0xa3, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xa7, + 0xd9, 0x86, 0xd9, 0x87, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x8a, 0xd8, 0xb9, 0xd8, + 0xb6, 0xd9, 0x88, 0xd9, 0x88, 0xd9, 0x82, 0xd8, 0xaf, 0xd8, 0xa7, 0xd8, 0xa8, + 0xd9, 0x86, 0xd8, 0xae, 0xd9, 0x8a, 0xd8, 0xb1, 0xd8, 0xa8, 0xd9, 0x86, 0xd8, + 0xaa, 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7, 0xd8, 0xa1, + 0xd9, 0x88, 0xd9, 0x87, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xa8, 0xd9, 0x88, 0xd9, + 0x82, 0xd8, 0xb5, 0xd8, 0xb5, 0xd9, 0x88, 0xd9, 0x85, 0xd8, 0xa7, 0xd8, 0xb1, + 0xd9, 0x82, 0xd9, 0x85, 0xd8, 0xa3, 0xd8, 0xad, 0xd8, 0xaf, 0xd9, 0x86, 0xd8, + 0xad, 0xd9, 0x86, 0xd8, 0xb9, 0xd8, 0xaf, 0xd9, 0x85, 0xd8, 0xb1, 0xd8, 0xa3, + 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xad, 0xd8, 0xa9, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, + 0xa8, 0xd8, 0xaf, 0xd9, 0x88, 0xd9, 0x86, 0xd9, 0x8a, 0xd8, 0xac, 0xd8, 0xa8, + 0xd9, 0x85, 0xd9, 0x86, 0xd9, 0x87, 0xd8, 0xaa, 0xd8, 0xad, 0xd8, 0xaa, 0xd8, + 0xac, 0xd9, 0x87, 0xd8, 0xa9, 0xd8, 0xb3, 0xd9, 0x86, 0xd8, 0xa9, 0xd9, 0x8a, + 0xd8, 0xaa, 0xd9, 0x85, 0xd9, 0x83, 0xd8, 0xb1, 0xd8, 0xa9, 0xd8, 0xba, 0xd8, + 0xb2, 0xd8, 0xa9, 0xd9, 0x86, 0xd9, 0x81, 0xd8, 0xb3, 0xd8, 0xa8, 0xd9, 0x8a, + 0xd8, 0xaa, 0xd9, 0x84, 0xd9, 0x84, 0xd9, 0x87, 0xd9, 0x84, 0xd9, 0x86, 0xd8, + 0xa7, 0xd8, 0xaa, 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x82, 0xd9, 0x84, 0xd8, 0xa8, + 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xa7, 0xd8, 0xb9, 0xd9, 0x86, 0xd9, 0x87, 0xd8, + 0xa3, 0xd9, 0x88, 0xd9, 0x84, 0xd8, 0xb4, 0xd9, 0x8a, 0xd8, 0xa1, 0xd9, 0x86, + 0xd9, 0x88, 0xd8, 0xb1, 0xd8, 0xa3, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x81, 0xd9, + 0x8a, 0xd9, 0x83, 0xd8, 0xa8, 0xd9, 0x83, 0xd9, 0x84, 0xd8, 0xb0, 0xd8, 0xa7, + 0xd8, 0xaa, 0xd8, 0xb1, 0xd8, 0xaa, 0xd8, 0xa8, 0xd8, 0xa8, 0xd8, 0xa3, 0xd9, + 0x86, 0xd9, 0x87, 0xd9, 0x85, 0xd8, 0xb3, 0xd8, 0xa7, 0xd9, 0x86, 0xd9, 0x83, + 0xd8, 0xa8, 0xd9, 0x8a, 0xd8, 0xb9, 0xd9, 0x81, 0xd9, 0x82, 0xd8, 0xaf, 0xd8, + 0xad, 0xd8, 0xb3, 0xd9, 0x86, 0xd9, 0x84, 0xd9, 0x87, 0xd9, 0x85, 0xd8, 0xb4, + 0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xa3, 0xd9, 0x87, 0xd9, 0x84, 0xd8, 0xb4, 0xd9, + 0x87, 0xd8, 0xb1, 0xd9, 0x82, 0xd8, 0xb7, 0xd8, 0xb1, 0xd8, 0xb7, 0xd9, 0x84, + 0xd8, 0xa8, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x68, 0x69, 0x6d, + 0x73, 0x65, 0x6c, 0x66, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x61, 0x73, 0x68, 0x69, 0x6f, + 0x6e, 0x3c, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x72, 0x79, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x70, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x77, 0x72, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, + 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, + 0x65, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x64, 0x79, 0x6e, 0x61, + 0x6d, 0x69, 0x63, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x63, 0x79, 0x70, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, + 0x65, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x66, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x77, 0x6f, 0x72, 0x6b, + 0x69, 0x6e, 0x67, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x6d, 0x69, 0x6c, + 0x6c, 0x69, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x77, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x76, + 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x77, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, + 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x79, 0x6f, 0x75, 0x20, 0x63, 0x61, 0x6e, 0x72, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x64, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x6c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, + 0x72, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x6d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x70, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, + 0x67, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x63, 0x69, 0x65, 0x74, 0x79, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, + 0x67, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x70, 0x61, 0x72, 0x74, 0x6e, + 0x65, 0x72, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x70, 0x65, 0x72, 0x66, + 0x65, 0x63, 0x74, 0x6d, 0x65, 0x61, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x73, 0x6b, 0x65, 0x65, 0x70, 0x69, 0x6e, 0x67, 0x63, 0x75, + 0x6c, 0x74, 0x75, 0x72, 0x65, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x2c, 0x6a, + 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x26, 0x71, 0x75, 0x6f, 0x74, + 0x3b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x72, 0x65, 0x76, 0x69, 0x65, + 0x77, 0x73, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x67, 0x6c, + 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x74, 0x68, 0x72, + 0x6f, 0x75, 0x67, 0x68, 0x50, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x6f, 0x70, + 0x69, 0x6e, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x61, + 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, + 0x76, 0x69, 0x6c, 0x6c, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x69, 0x73, + 0x68, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x64, 0x65, 0x63, 0x6c, 0x69, + 0x6e, 0x65, 0x6d, 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x71, 0x75, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x70, 0x65, 0x63, 0x69, 0x65, 0x73, 0x73, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x73, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x64, 0x69, 0x73, + 0x70, 0x75, 0x74, 0x65, 0x65, 0x61, 0x72, 0x6c, 0x69, 0x65, 0x72, 0x65, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x70, + 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x41, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, + 0x6d, 0x61, 0x72, 0x72, 0x69, 0x65, 0x64, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, + 0x63, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x64, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x76, 0x69, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x73, 0x73, 0x74, 0x75, 0x64, 0x69, 0x65, 0x73, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x6d, + 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x73, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x75, 0x73, 0x75, 0x61, 0x6c, 0x6c, + 0x79, 0x65, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x69, + 0x6e, 0x67, 0x67, 0x72, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x6f, 0x62, 0x76, 0x69, + 0x6f, 0x75, 0x73, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x70, 0x72, 0x65, + 0x73, 0x65, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3c, 0x2f, + 0x75, 0x6c, 0x3e, 0x0d, 0x0a, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x61, + 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, + 0x72, 0x65, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x64, 0x65, 0x73, 0x6b, 0x74, + 0x6f, 0x70, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x70, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x75, 0x6e, 0x75, 0x73, 0x75, 0x61, 0x6c, 0x44, 0x69, 0x67, + 0x69, 0x74, 0x61, 0x6c, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x57, 0x65, + 0x62, 0x73, 0x69, 0x74, 0x65, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x64, + 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x64, 0x65, 0x63, 0x61, 0x64, 0x65, + 0x73, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x26, 0x61, 0x6d, 0x70, + 0x3b, 0x20, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x72, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x67, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x6e, 0x6f, + 0x74, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x63, + 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, + 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x73, 0x63, 0x69, 0x65, 0x6e, 0x63, + 0x65, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x73, 0x45, 0x6e, 0x67, 0x6c, 0x61, 0x6e, 0x64, 0x3d, 0x31, 0x26, 0x61, + 0x6d, 0x70, 0x3b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x3d, 0x20, + 0x6e, 0x65, 0x77, 0x20, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x67, 0x65, 0x74, 0x6f, 0x6f, 0x6c, 0x62, + 0x61, 0x72, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x62, 0x65, 0x63, 0x61, + 0x75, 0x73, 0x65, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x75, + 0x74, 0x73, 0x63, 0x68, 0x66, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x77, 0x6f, + 0x72, 0x6b, 0x65, 0x72, 0x73, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x62, + 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, + 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x64, 0x69, 0x73, 0x65, 0x61, 0x73, + 0x65, 0x53, 0x6f, 0x63, 0x69, 0x65, 0x74, 0x79, 0x77, 0x65, 0x61, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x26, 0x6c, 0x74, 0x3b, + 0x21, 0x2d, 0x2d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x65, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x6f, 0x75, + 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x28, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3d, + 0x22, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x20, 0x6b, 0x69, 0x6c, 0x6c, 0x69, + 0x6e, 0x67, 0x73, 0x68, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x49, 0x74, 0x61, 0x6c, + 0x69, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x68, 0x65, 0x61, + 0x76, 0x69, 0x6c, 0x79, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x31, + 0x27, 0x5d, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x43, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, + 0x67, 0x64, 0x72, 0x61, 0x77, 0x69, 0x6e, 0x67, 0x62, 0x69, 0x6c, 0x6c, 0x69, + 0x6f, 0x6e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x47, 0x65, 0x72, 0x6d, + 0x61, 0x6e, 0x79, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x3c, 0x2f, 0x66, + 0x6f, 0x72, 0x6d, 0x3e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x77, 0x68, + 0x65, 0x74, 0x68, 0x65, 0x72, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, + 0x63, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x41, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, + 0x73, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x73, 0x74, 0x75, 0x6e, 0x69, 0x66, 0x6f, + 0x72, 0x6d, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x73, 0x69, 0x64, 0x65, + 0x62, 0x61, 0x72, 0x43, 0x68, 0x69, 0x63, 0x61, 0x67, 0x6f, 0x68, 0x6f, 0x6c, + 0x69, 0x64, 0x61, 0x79, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x70, 0x61, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x2c, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x61, + 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x66, 0x65, 0x65, 0x6c, 0x69, 0x6e, 0x67, + 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x64, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x72, 0x6f, 0x75, 0x67, 0x68, + 0x6c, 0x79, 0x2e, 0x0a, 0x0a, 0x54, 0x68, 0x65, 0x20, 0x62, 0x75, 0x74, 0x20, + 0x6e, 0x6f, 0x74, 0x64, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79, 0x42, 0x72, 0x69, + 0x74, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x65, 0x6c, 0x61, + 0x63, 0x6b, 0x20, 0x6f, 0x66, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, + 0x72, 0x65, 0x6c, 0x61, 0x6e, 0x64, 0x22, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2d, + 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x68, 0x75, 0x73, 0x62, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x20, 0x66, + 0x61, 0x63, 0x74, 0x61, 0x66, 0x66, 0x61, 0x69, 0x72, 0x73, 0x43, 0x68, 0x61, + 0x72, 0x6c, 0x65, 0x73, 0x72, 0x61, 0x64, 0x69, 0x63, 0x61, 0x6c, 0x62, 0x72, + 0x6f, 0x75, 0x67, 0x68, 0x74, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x6c, + 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x6c, 0x61, 0x6e, 0x67, 0x3d, 0x22, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x70, 0x72, 0x65, 0x6d, 0x69, + 0x75, 0x6d, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x41, 0x6d, 0x65, 0x72, + 0x69, 0x63, 0x61, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x26, 0x71, + 0x75, 0x6f, 0x74, 0x3b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x6e, 0x65, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x6c, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, + 0x65, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x2d, 0x6d, 0x6f, 0x62, 0x69, + 0x6c, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x77, 0x61, 0x6e, 0x74, + 0x20, 0x74, 0x6f, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x46, 0x69, 0x72, + 0x65, 0x66, 0x6f, 0x78, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x73, 0x69, + 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x73, 0x74, 0x75, 0x64, 0x69, 0x65, 0x64, 0x6d, + 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, + 0x72, 0x61, 0x70, 0x69, 0x64, 0x6c, 0x79, 0x63, 0x6c, 0x69, 0x6d, 0x61, 0x74, + 0x65, 0x6b, 0x69, 0x6e, 0x67, 0x64, 0x6f, 0x6d, 0x65, 0x6d, 0x65, 0x72, 0x67, + 0x65, 0x64, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x66, 0x6f, 0x75, 0x6e, + 0x64, 0x65, 0x64, 0x70, 0x69, 0x6f, 0x6e, 0x65, 0x65, 0x72, 0x66, 0x6f, 0x72, + 0x6d, 0x75, 0x6c, 0x61, 0x64, 0x79, 0x6e, 0x61, 0x73, 0x74, 0x79, 0x68, 0x6f, + 0x77, 0x20, 0x74, 0x6f, 0x20, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x72, + 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x65, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x79, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x62, 0x72, 0x6f, 0x74, 0x68, 0x65, + 0x72, 0x73, 0x6f, 0x6c, 0x64, 0x69, 0x65, 0x72, 0x6c, 0x61, 0x72, 0x67, 0x65, + 0x6c, 0x79, 0x63, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x26, 0x71, 0x75, + 0x6f, 0x74, 0x3b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x64, 0x77, + 0x61, 0x72, 0x64, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x6f, + 0x62, 0x65, 0x72, 0x74, 0x20, 0x65, 0x66, 0x66, 0x6f, 0x72, 0x74, 0x73, 0x50, + 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, + 0x75, 0x70, 0x20, 0x77, 0x69, 0x74, 0x68, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x3a, 0x77, 0x65, 0x20, 0x68, 0x61, 0x76, 0x65, 0x41, 0x6e, 0x67, 0x65, 0x6c, + 0x65, 0x73, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x61, 0x63, 0x71, + 0x75, 0x69, 0x72, 0x65, 0x6d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x74, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x62, 0x69, 0x67, 0x67, 0x65, 0x73, 0x74, + 0x62, 0x65, 0x6e, 0x65, 0x66, 0x69, 0x74, 0x64, 0x72, 0x69, 0x76, 0x69, 0x6e, + 0x67, 0x53, 0x74, 0x75, 0x64, 0x69, 0x65, 0x73, 0x6d, 0x69, 0x6e, 0x69, 0x6d, + 0x75, 0x6d, 0x70, 0x65, 0x72, 0x68, 0x61, 0x70, 0x73, 0x6d, 0x6f, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x73, 0x65, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x73, 0x20, + 0x75, 0x73, 0x65, 0x64, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x6e, 0x74, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x3d, 0x22, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, + 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, + 0x74, 0x73, 0x6f, 0x6d, 0x65, 0x6f, 0x6e, 0x65, 0x65, 0x78, 0x74, 0x72, 0x65, + 0x6d, 0x65, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x62, 0x6f, 0x74, 0x74, + 0x6f, 0x6d, 0x3a, 0x65, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x61, 0x6c, 0x6c, + 0x20, 0x74, 0x68, 0x65, 0x73, 0x69, 0x74, 0x65, 0x6d, 0x61, 0x70, 0x65, 0x6e, + 0x67, 0x6c, 0x69, 0x73, 0x68, 0x77, 0x61, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x20, + 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, + 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x73, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x61, 0x67, 0x61, 0x69, 0x6e, + 0x73, 0x74, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x7d, 0x29, 0x28, 0x29, + 0x3b, 0x0d, 0x0a, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x74, 0x72, 0x6f, + 0x75, 0x62, 0x6c, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, + 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x20, 0x27, 0x27, 0x54, 0x68, 0x65, + 0x20, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x65, 0x78, 0x70, 0x6c, 0x6f, + 0x72, 0x65, 0x61, 0x64, 0x61, 0x70, 0x74, 0x65, 0x64, 0x47, 0x61, 0x6c, 0x6c, + 0x65, 0x72, 0x79, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x63, 0x61, + 0x72, 0x65, 0x65, 0x72, 0x73, 0x29, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, + 0x61, 0x6e, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65, + 0x64, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x64, 0x63, 0x6f, 0x6e, 0x73, + 0x6f, 0x6c, 0x65, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x69, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x6e, + 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, + 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, + 0x67, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x3e, 0x73, 0x65, 0x74, 0x74, 0x6c, + 0x65, 0x64, 0x77, 0x65, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x63, 0x61, 0x75, 0x73, + 0x69, 0x6e, 0x67, 0x2d, 0x77, 0x65, 0x62, 0x6b, 0x69, 0x74, 0x63, 0x6c, 0x61, + 0x69, 0x6d, 0x65, 0x64, 0x4a, 0x75, 0x73, 0x74, 0x69, 0x63, 0x65, 0x63, 0x68, + 0x61, 0x70, 0x74, 0x65, 0x72, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x73, 0x54, + 0x68, 0x6f, 0x6d, 0x61, 0x73, 0x20, 0x6d, 0x6f, 0x7a, 0x69, 0x6c, 0x6c, 0x61, + 0x70, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x75, 0x74, 0x73, 0x69, + 0x64, 0x65, 0x3a, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2c, 0x68, 0x75, 0x6e, 0x64, + 0x72, 0x65, 0x64, 0x4f, 0x6c, 0x79, 0x6d, 0x70, 0x69, 0x63, 0x5f, 0x62, 0x75, + 0x74, 0x74, 0x6f, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x73, 0x72, 0x65, + 0x61, 0x63, 0x68, 0x65, 0x64, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x69, 0x63, 0x64, + 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, + 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x65, + 0x64, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x65, 0x69, 0x74, 0x68, + 0x65, 0x72, 0x67, 0x72, 0x65, 0x61, 0x74, 0x6c, 0x79, 0x67, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x69, 0x6d, 0x70, + 0x72, 0x6f, 0x76, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x70, + 0x65, 0x63, 0x69, 0x61, 0x6c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x77, + 0x6f, 0x72, 0x73, 0x68, 0x69, 0x70, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x68, 0x69, 0x67, 0x68, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x75, 0x74, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x75, 0x6c, 0x74, + 0x75, 0x72, 0x65, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x63, 0x6c, 0x65, + 0x61, 0x72, 0x6c, 0x79, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x42, 0x72, + 0x6f, 0x77, 0x73, 0x65, 0x72, 0x6c, 0x69, 0x62, 0x65, 0x72, 0x61, 0x6c, 0x7d, + 0x20, 0x63, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x68, 0x69, 0x64, 0x65, 0x28, 0x29, + 0x3b, 0x46, 0x6c, 0x6f, 0x72, 0x69, 0x64, 0x61, 0x61, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x45, 0x6d, 0x70, 0x65, + 0x72, 0x6f, 0x72, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x65, 0x72, + 0x69, 0x6f, 0x75, 0x73, 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x53, 0x65, + 0x76, 0x65, 0x72, 0x61, 0x6c, 0x2d, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x46, + 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x21, 0x3d, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x65, + 0x64, 0x44, 0x65, 0x6e, 0x6d, 0x61, 0x72, 0x6b, 0x76, 0x6f, 0x69, 0x64, 0x28, + 0x30, 0x29, 0x2f, 0x61, 0x6c, 0x6c, 0x2e, 0x6a, 0x73, 0x70, 0x72, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x65, + 0x70, 0x68, 0x65, 0x6e, 0x0a, 0x0a, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x6f, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x3c, 0x2f, 0x68, 0x32, 0x3e, 0x0d, 0x0a, 0x4d, + 0x6f, 0x64, 0x65, 0x72, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x22, 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x22, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x73, 0x2e, 0x0a, 0x0a, 0x46, 0x6f, 0x72, 0x20, 0x0a, 0x0a, 0x4d, 0x61, 0x6e, + 0x79, 0x20, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x73, 0x70, 0x6f, 0x77, 0x65, + 0x72, 0x65, 0x64, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x66, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x6d, 0x65, + 0x64, 0x69, 0x63, 0x61, 0x6c, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x6f, + 0x70, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, + 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x63, + 0x65, 0x47, 0x65, 0x6f, 0x72, 0x67, 0x65, 0x20, 0x42, 0x65, 0x6c, 0x67, 0x69, + 0x75, 0x6d, 0x2e, 0x2e, 0x2e, 0x3c, 0x2f, 0x61, 0x3e, 0x74, 0x77, 0x69, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x79, 0x77, 0x61, 0x69, + 0x74, 0x69, 0x6e, 0x67, 0x77, 0x61, 0x72, 0x66, 0x61, 0x72, 0x65, 0x20, 0x4f, + 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x70, + 0x68, 0x72, 0x61, 0x73, 0x65, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x75, 0x72, 0x76, 0x69, 0x76, 0x65, 0x73, 0x63, 0x68, 0x6f, 0x6c, 0x61, + 0x72, 0x3c, 0x2f, 0x70, 0x3e, 0x0d, 0x0a, 0x20, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x72, 0x79, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x6c, 0x6f, 0x73, 0x73, + 0x20, 0x6f, 0x66, 0x6a, 0x75, 0x73, 0x74, 0x20, 0x61, 0x73, 0x47, 0x65, 0x6f, + 0x72, 0x67, 0x69, 0x61, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x3c, 0x68, + 0x65, 0x61, 0x64, 0x3e, 0x3c, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x31, + 0x27, 0x5d, 0x29, 0x3b, 0x0d, 0x0a, 0x69, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, + 0x6e, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x63, 0x61, 0x72, 0x72, 0x69, + 0x65, 0x64, 0x31, 0x30, 0x30, 0x2c, 0x30, 0x30, 0x30, 0x3c, 0x2f, 0x68, 0x33, + 0x3e, 0x0a, 0x20, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x62, 0x65, 0x63, + 0x6f, 0x6d, 0x65, 0x73, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x20, 0x77, 0x65, + 0x64, 0x64, 0x69, 0x6e, 0x67, 0x30, 0x30, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x6d, + 0x6f, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x6f, 0x66, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x79, + 0x20, 0x62, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x6c, 0x69, 0x66, 0x65, 0x20, + 0x6f, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x72, 0x69, 0x73, 0x65, + 0x20, 0x6f, 0x66, 0x26, 0x72, 0x61, 0x71, 0x75, 0x6f, 0x3b, 0x70, 0x6c, 0x75, + 0x73, 0x6f, 0x6e, 0x65, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x28, 0x74, + 0x68, 0x6f, 0x75, 0x67, 0x68, 0x44, 0x6f, 0x75, 0x67, 0x6c, 0x61, 0x73, 0x6a, + 0x6f, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x73, + 0x46, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x41, 0x6e, 0x63, 0x69, 0x65, 0x6e, + 0x74, 0x56, 0x69, 0x65, 0x74, 0x6e, 0x61, 0x6d, 0x76, 0x65, 0x68, 0x69, 0x63, + 0x6c, 0x65, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x63, 0x72, 0x79, 0x73, + 0x74, 0x61, 0x6c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x57, 0x69, 0x6e, + 0x64, 0x6f, 0x77, 0x73, 0x65, 0x6e, 0x6a, 0x6f, 0x79, 0x65, 0x64, 0x61, 0x20, + 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x3c, + 0x61, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, + 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x72, 0x69, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x68, + 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x72, 0x65, 0x74, 0x69, 0x72, + 0x65, 0x64, 0x68, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x68, 0x69, 0x64, 0x64, + 0x65, 0x6e, 0x3b, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x65, + 0x6b, 0x69, 0x6e, 0x67, 0x63, 0x61, 0x62, 0x69, 0x6e, 0x65, 0x74, 0x77, 0x61, + 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x6c, 0x6f, 0x6f, 0x6b, 0x20, 0x61, 0x74, 0x63, + 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x67, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, + 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x79, 0x68, 0x61, 0x70, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x61, 0x3a, 0x68, 0x6f, 0x76, + 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x46, 0x72, 0x65, 0x6e, + 0x63, 0x68, 0x20, 0x6c, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x74, 0x79, 0x70, + 0x69, 0x63, 0x61, 0x6c, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x65, 0x6e, + 0x65, 0x6d, 0x69, 0x65, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x20, 0x69, 0x66, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x64, 0x65, 0x63, 0x69, 0x64, 0x65, 0x64, + 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x66, 0x73, 0x2d, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x3a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x63, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x22, 0x3e, 0x63, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x74, 0x76, 0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x65, 0x64, 0x66, 0x69, 0x72, 0x73, 0x74, 0x22, 0x3e, 0x63, + 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x46, 0x69, 0x6e, 0x6c, 0x61, 0x6e, 0x64, + 0x63, 0x68, 0x65, 0x6d, 0x69, 0x73, 0x74, 0x73, 0x68, 0x65, 0x20, 0x77, 0x61, + 0x73, 0x31, 0x30, 0x70, 0x78, 0x3b, 0x22, 0x3e, 0x61, 0x73, 0x20, 0x73, 0x75, + 0x63, 0x68, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x64, 0x3c, 0x2f, 0x73, 0x70, + 0x61, 0x6e, 0x3e, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x20, 0x6f, 0x66, 0x61, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x6d, 0x79, + 0x73, 0x74, 0x65, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x66, + 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x64, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, + 0x72, 0x61, 0x69, 0x6c, 0x77, 0x61, 0x79, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x67, + 0x65, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x64, 0x65, 0x73, 0x63, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6e, 0x75, 0x63, 0x6c, + 0x65, 0x61, 0x72, 0x4a, 0x65, 0x77, 0x69, 0x73, 0x68, 0x20, 0x70, 0x72, 0x6f, + 0x74, 0x65, 0x73, 0x74, 0x42, 0x72, 0x69, 0x74, 0x69, 0x73, 0x68, 0x66, 0x6c, + 0x6f, 0x77, 0x65, 0x72, 0x73, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x72, + 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, + 0x77, 0x68, 0x6f, 0x20, 0x77, 0x61, 0x73, 0x6c, 0x65, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x75, 0x69, 0x63, 0x69, + 0x64, 0x65, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x70, 0x65, 0x72, 0x69, + 0x6f, 0x64, 0x73, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x63, 0x6f, + 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x77, + 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x3c, 0x62, 0x72, 0x20, 0x2f, 0x3e, 0x3c, + 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4e, 0x61, 0x74, 0x75, 0x72, 0x61, + 0x6c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x63, 0x6f, 0x6f, 0x6b, 0x69, + 0x65, 0x73, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x72, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x65, 0x53, 0x77, 0x65, 0x64, 0x69, 0x73, 0x68, 0x62, 0x72, 0x69, + 0x65, 0x66, 0x6c, 0x79, 0x50, 0x65, 0x72, 0x73, 0x69, 0x61, 0x6e, 0x73, 0x6f, + 0x20, 0x6d, 0x75, 0x63, 0x68, 0x43, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x79, 0x64, + 0x65, 0x70, 0x69, 0x63, 0x74, 0x73, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x68, 0x6f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x73, 0x6e, 0x65, 0x78, 0x74, 0x20, 0x74, 0x6f, 0x62, 0x65, 0x61, 0x72, 0x69, + 0x6e, 0x67, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x65, 0x64, 0x6a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x28, 0x2d, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x3a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x3e, 0x74, 0x6f, + 0x6f, 0x6c, 0x74, 0x69, 0x70, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x64, + 0x65, 0x73, 0x69, 0x67, 0x6e, 0x73, 0x54, 0x75, 0x72, 0x6b, 0x69, 0x73, 0x68, + 0x79, 0x6f, 0x75, 0x6e, 0x67, 0x65, 0x72, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x28, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x0a, 0x0a, 0x62, 0x75, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x65, 0x67, 0x72, + 0x65, 0x65, 0x73, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x52, 0x69, 0x63, + 0x68, 0x61, 0x72, 0x64, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x6c, 0x79, 0x70, 0x6c, + 0x61, 0x73, 0x74, 0x69, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3c, + 0x2f, 0x74, 0x72, 0x3e, 0x0d, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23, + 0x75, 0x6c, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x70, 0x6f, 0x73, 0x73, 0x65, 0x73, + 0x73, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x70, 0x68, 0x79, 0x73, 0x69, + 0x63, 0x73, 0x66, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, + 0x6b, 0x20, 0x74, 0x6f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3c, 0x62, + 0x72, 0x20, 0x2f, 0x3e, 0x0a, 0x3a, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x63, + 0x68, 0x61, 0x72, 0x74, 0x65, 0x72, 0x74, 0x6f, 0x75, 0x72, 0x69, 0x73, 0x6d, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x63, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x65, + 0x64, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x3c, 0x2f, 0x68, 0x31, 0x3e, + 0x0d, 0x0a, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x3f, 0x78, 0x6d, 0x6c, + 0x20, 0x76, 0x65, 0x68, 0x65, 0x6c, 0x70, 0x69, 0x6e, 0x67, 0x64, 0x69, 0x61, + 0x6d, 0x6f, 0x6e, 0x64, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x61, 0x69, + 0x72, 0x6c, 0x69, 0x6e, 0x65, 0x65, 0x6e, 0x64, 0x20, 0x2d, 0x2d, 0x3e, 0x29, + 0x2e, 0x61, 0x74, 0x74, 0x72, 0x28, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x68, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x23, 0x66, 0x66, 0x66, 0x66, 0x66, + 0x66, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x56, 0x69, 0x6e, 0x63, 0x65, + 0x6e, 0x74, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x20, 0x73, 0x72, 0x63, + 0x3d, 0x22, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x64, 0x65, 0x73, + 0x70, 0x69, 0x74, 0x65, 0x64, 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x74, 0x65, + 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x68, + 0x65, 0x6c, 0x64, 0x20, 0x69, 0x6e, 0x4a, 0x6f, 0x73, 0x65, 0x70, 0x68, 0x20, + 0x74, 0x68, 0x65, 0x61, 0x74, 0x72, 0x65, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, + 0x73, 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x61, 0x20, 0x6c, 0x61, 0x72, + 0x67, 0x65, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x6c, 0x61, 0x74, 0x65, + 0x72, 0x2c, 0x20, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x66, 0x61, 0x76, + 0x69, 0x63, 0x6f, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x75, + 0x6e, 0x67, 0x61, 0x72, 0x79, 0x41, 0x69, 0x72, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x65, 0x65, 0x20, 0x74, 0x68, 0x65, 0x73, 0x6f, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x4d, 0x69, 0x63, 0x68, 0x61, 0x65, 0x6c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x73, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x2c, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x65, 0x26, 0x71, 0x75, + 0x6f, 0x74, 0x3b, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x66, + 0x74, 0x22, 0x3e, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x47, 0x6f, + 0x6c, 0x64, 0x65, 0x6e, 0x20, 0x41, 0x66, 0x66, 0x61, 0x69, 0x72, 0x73, 0x67, + 0x72, 0x61, 0x6d, 0x6d, 0x61, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x6e, 0x67, + 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x69, 0x64, 0x65, 0x61, 0x20, 0x6f, + 0x66, 0x63, 0x61, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x73, + 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x2e, 0x73, 0x72, 0x63, + 0x20, 0x3d, 0x20, 0x63, 0x61, 0x72, 0x74, 0x6f, 0x6f, 0x6e, 0x72, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x4d, 0x75, + 0x73, 0x6c, 0x69, 0x6d, 0x73, 0x57, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, 0x69, + 0x6e, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x6d, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, + 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x65, 0x64, + 0x2c, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x2f, 0x73, 0x68, 0x6f, 0x77, + 0x5f, 0x61, 0x6f, 0x75, 0x74, 0x64, 0x6f, 0x6f, 0x72, 0x65, 0x73, 0x63, 0x61, + 0x70, 0x65, 0x28, 0x41, 0x75, 0x73, 0x74, 0x72, 0x69, 0x61, 0x67, 0x65, 0x6e, + 0x65, 0x74, 0x69, 0x63, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2c, 0x49, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x48, + 0x65, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, + 0x41, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, 0x0a, 0x09, 0x09, 0x3c, 0x21, 0x2d, + 0x2d, 0x44, 0x61, 0x6e, 0x69, 0x65, 0x6c, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x3e, 0x69, 0x6d, 0x70, 0x6f, + 0x73, 0x65, 0x64, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x65, 0x41, 0x62, 0x72, + 0x61, 0x68, 0x61, 0x6d, 0x28, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x7b, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x3a, 0x70, 0x75, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x29, + 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x28, 0x7c, 0x7c, 0x20, 0x5b, 0x5d, 0x3b, 0x0a, + 0x44, 0x41, 0x54, 0x41, 0x5b, 0x20, 0x2a, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, + 0x6e, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x64, 0x61, 0x63, 0x74, 0x75, 0x61, + 0x6c, 0x20, 0x64, 0x69, 0x61, 0x6c, 0x65, 0x63, 0x74, 0x6d, 0x61, 0x69, 0x6e, + 0x6c, 0x79, 0x20, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x27, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x78, 0x70, 0x65, 0x72, 0x74, 0x73, 0x69, 0x66, + 0x28, 0x74, 0x79, 0x70, 0x65, 0x49, 0x74, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x26, + 0x63, 0x6f, 0x70, 0x79, 0x3b, 0x20, 0x22, 0x3e, 0x54, 0x65, 0x72, 0x6d, 0x73, + 0x62, 0x6f, 0x72, 0x6e, 0x20, 0x69, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x65, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x74, 0x61, 0x6c, 0x6b, 0x69, + 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x72, 0x6e, 0x67, 0x61, 0x69, 0x6e, + 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x6a, 0x75, 0x73, + 0x74, 0x69, 0x66, 0x79, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x73, 0x66, 0x61, + 0x63, 0x74, 0x6f, 0x72, 0x79, 0x69, 0x74, 0x73, 0x20, 0x6f, 0x77, 0x6e, 0x61, + 0x73, 0x73, 0x61, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, + 0x6c, 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x68, 0x69, 0x73, 0x20, 0x6f, 0x77, + 0x6e, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x22, 0x20, 0x72, 0x65, 0x6c, + 0x3d, 0x22, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x63, 0x6f, 0x6e, 0x63, + 0x65, 0x72, 0x74, 0x64, 0x69, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x64, 0x6f, 0x6c, + 0x6c, 0x61, 0x72, 0x73, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x70, 0x68, + 0x70, 0x3f, 0x69, 0x64, 0x3d, 0x61, 0x6c, 0x63, 0x6f, 0x68, 0x6f, 0x6c, 0x29, + 0x3b, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x61, + 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x76, 0x65, 0x73, 0x73, 0x65, 0x6c, + 0x73, 0x72, 0x65, 0x76, 0x69, 0x76, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x61, 0x6d, 0x61, 0x74, 0x65, 0x75, 0x72, 0x61, 0x6e, 0x64, 0x72, + 0x6f, 0x69, 0x64, 0x61, 0x6c, 0x6c, 0x65, 0x67, 0x65, 0x64, 0x69, 0x6c, 0x6c, + 0x6e, 0x65, 0x73, 0x73, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x63, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x73, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x79, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x65, 0x78, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, + 0x65, 0x64, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x0a, 0x09, 0x3c, 0x21, 0x2d, + 0x2d, 0x20, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x73, 0x6c, 0x69, 0x6e, 0x6b, + 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x20, 0x42, 0x6f, 0x6f, + 0x6b, 0x20, 0x6f, 0x66, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x6d, 0x69, + 0x6e, 0x2e, 0x6a, 0x73, 0x3f, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x6b, + 0x6f, 0x6e, 0x74, 0x61, 0x6b, 0x74, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x27, 0x73, + 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x3d, 0x77, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x6c, 0x20, 0x52, + 0x69, 0x67, 0x3b, 0x0a, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x72, 0x61, 0x69, 0x73, + 0x69, 0x6e, 0x67, 0x20, 0x41, 0x6c, 0x73, 0x6f, 0x2c, 0x20, 0x63, 0x72, 0x75, + 0x63, 0x69, 0x61, 0x6c, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x22, 0x3e, 0x64, 0x65, + 0x63, 0x6c, 0x61, 0x72, 0x65, 0x2d, 0x2d, 0x3e, 0x0a, 0x3c, 0x73, 0x63, 0x66, + 0x69, 0x72, 0x65, 0x66, 0x6f, 0x78, 0x61, 0x73, 0x20, 0x6d, 0x75, 0x63, 0x68, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, + 0x20, 0x73, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, + 0x3d, 0x20, 0x0a, 0x0d, 0x0a, 0x3c, 0x21, 0x2d, 0x2d, 0x74, 0x6f, 0x77, 0x61, + 0x72, 0x64, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x50, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x50, 0x72, + 0x65, 0x6d, 0x69, 0x65, 0x72, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x56, + 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x65, + 0x64, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x3b, 0x70, 0x6f, 0x76, 0x65, 0x72, + 0x74, 0x79, 0x63, 0x68, 0x61, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x76, 0x69, + 0x6e, 0x67, 0x20, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x41, 0x6e, 0x74, + 0x68, 0x6f, 0x6e, 0x79, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x22, 0x20, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x45, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x79, 0x72, + 0x65, 0x61, 0x63, 0x68, 0x65, 0x73, 0x63, 0x75, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x79, 0x6c, 0x69, 0x66, 0x65, 0x20, 0x69, + 0x6e, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x2d, 0x73, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x4e, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3c, 0x2f, 0x74, 0x64, + 0x3e, 0x0d, 0x0a, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x74, 0x61, + 0x64, 0x69, 0x75, 0x6d, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x73, 0x76, 0x61, + 0x72, 0x79, 0x69, 0x6e, 0x67, 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x73, 0x68, + 0x65, 0x6c, 0x64, 0x20, 0x62, 0x79, 0x77, 0x68, 0x6f, 0x20, 0x61, 0x72, 0x65, + 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x69, 0x6e, 0x66, 0x61, 0x63, 0x75, 0x6c, 0x74, + 0x79, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x77, 0x68, 0x6f, 0x20, 0x68, + 0x61, 0x64, 0x61, 0x69, 0x72, 0x70, 0x6f, 0x72, 0x74, 0x74, 0x6f, 0x77, 0x6e, + 0x20, 0x6f, 0x66, 0x0a, 0x0a, 0x53, 0x6f, 0x6d, 0x65, 0x20, 0x27, 0x63, 0x6c, + 0x69, 0x63, 0x6b, 0x27, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x6b, 0x65, + 0x79, 0x77, 0x6f, 0x72, 0x64, 0x69, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x63, + 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x28, 0x74, 0x68, 0x69, 0x73, 0x29, 0x3b, + 0x41, 0x6e, 0x64, 0x72, 0x65, 0x77, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, + 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x6f, 0x72, 0x20, 0x6d, 0x6f, + 0x72, 0x65, 0x33, 0x30, 0x30, 0x70, 0x78, 0x3b, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x3b, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x73, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x68, 0x65, + 0x72, 0x73, 0x65, 0x6c, 0x66, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, + 0x65, 0x64, 0x65, 0x72, 0x61, 0x6c, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x65, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x73, 0x65, 0x6e, 0x74, 0x20, 0x74, + 0x6f, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x63, 0x74, 0x72, 0x65, + 0x73, 0x73, 0x63, 0x6f, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x66, 0x69, 0x6e, 0x67, + 0x65, 0x72, 0x73, 0x44, 0x75, 0x6b, 0x65, 0x20, 0x6f, 0x66, 0x70, 0x65, 0x6f, + 0x70, 0x6c, 0x65, 0x2c, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x69, 0x74, 0x77, 0x68, + 0x61, 0x74, 0x20, 0x69, 0x73, 0x68, 0x61, 0x72, 0x6d, 0x6f, 0x6e, 0x79, 0x61, + 0x20, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x22, 0x3a, 0x22, 0x68, 0x74, 0x74, 0x70, + 0x69, 0x6e, 0x20, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x65, 0x6e, 0x75, 0x22, 0x3e, + 0x0a, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x6f, 0x66, 0x66, 0x69, 0x63, + 0x65, 0x72, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x67, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x65, 0x76, 0x65, 0x6e, 0x20, 0x69, 0x6e, 0x53, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x79, 0x64, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x6c, 0x6f, + 0x79, 0x61, 0x6c, 0x74, 0x79, 0x66, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x61, + 0x6e, 0x64, 0x20, 0x77, 0x61, 0x73, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x6f, 0x72, + 0x73, 0x75, 0x70, 0x72, 0x65, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x20, 0x68, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x73, 0x73, 0x69, + 0x61, 0x6e, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x62, 0x65, + 0x72, 0x74, 0x61, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x65, 0x74, + 0x20, 0x6f, 0x66, 0x20, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x22, 0x3e, 0x2e, 0x61, + 0x70, 0x70, 0x65, 0x6e, 0x64, 0x64, 0x6f, 0x20, 0x77, 0x69, 0x74, 0x68, 0x66, + 0x65, 0x64, 0x65, 0x72, 0x61, 0x6c, 0x62, 0x61, 0x6e, 0x6b, 0x20, 0x6f, 0x66, + 0x62, 0x65, 0x6e, 0x65, 0x61, 0x74, 0x68, 0x44, 0x65, 0x73, 0x70, 0x69, 0x74, + 0x65, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x73, 0x29, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x65, 0x72, 0x63, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x63, 0x6c, 0x6f, + 0x73, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x49, 0x6e, + 0x73, 0x74, 0x65, 0x61, 0x64, 0x66, 0x69, 0x66, 0x74, 0x65, 0x65, 0x6e, 0x61, + 0x73, 0x20, 0x77, 0x65, 0x6c, 0x6c, 0x2e, 0x79, 0x61, 0x68, 0x6f, 0x6f, 0x2e, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x66, 0x69, 0x67, 0x68, 0x74, 0x65, + 0x72, 0x6f, 0x62, 0x73, 0x63, 0x75, 0x72, 0x65, 0x72, 0x65, 0x66, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x63, 0x3d, 0x20, 0x4d, 0x61, + 0x74, 0x68, 0x2e, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x6f, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x20, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x61, 0x20, + 0x77, 0x68, 0x6f, 0x6c, 0x65, 0x6f, 0x6e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x79, + 0x65, 0x61, 0x72, 0x20, 0x6f, 0x66, 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, + 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x69, + 0x74, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x68, 0x6f, 0x6d, 0x65, 0x20, + 0x6f, 0x66, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x72, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x64, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x3e, 0x68, 0x65, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x66, 0x72, 0x77, 0x61, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x4d, + 0x61, 0x72, 0x63, 0x68, 0x20, 0x31, 0x6b, 0x6e, 0x6f, 0x77, 0x69, 0x6e, 0x67, + 0x69, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x74, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, + 0x6e, 0x6c, 0x65, 0x73, 0x73, 0x6f, 0x6e, 0x73, 0x63, 0x6c, 0x6f, 0x73, 0x65, + 0x73, 0x74, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x6b, + 0x73, 0x22, 0x3e, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x65, 0x64, 0x45, 0x4e, 0x44, + 0x20, 0x2d, 0x2d, 0x3e, 0x66, 0x61, 0x6d, 0x6f, 0x75, 0x73, 0x20, 0x61, 0x77, + 0x61, 0x72, 0x64, 0x65, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x20, 0x66, 0x61, 0x69, 0x72, 0x6c, 0x79, 0x20, + 0x77, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, + 0x6c, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x65, + 0x74, 0x65, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x3e, 0x73, 0x69, 0x6e, 0x67, + 0x69, 0x6e, 0x67, 0x66, 0x61, 0x72, 0x6d, 0x65, 0x72, 0x73, 0x42, 0x72, 0x61, + 0x73, 0x69, 0x6c, 0x29, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x72, 0x65, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x47, 0x72, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x66, + 0x6f, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x70, 0x75, 0x72, 0x73, 0x75, 0x65, 0x64, + 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x73, 0x6d, 0x61, 0x6b, 0x65, 0x20, 0x75, + 0x70, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x62, 0x6f, 0x74, 0x68, 0x20, + 0x6f, 0x66, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x73, 0x61, 0x77, 0x20, + 0x74, 0x68, 0x65, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x73, 0x63, 0x6f, 0x6c, + 0x6f, 0x75, 0x72, 0x73, 0x69, 0x66, 0x28, 0x64, 0x6f, 0x63, 0x75, 0x77, 0x68, + 0x65, 0x6e, 0x20, 0x68, 0x65, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x70, + 0x75, 0x73, 0x68, 0x28, 0x66, 0x75, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x20, + 0x55, 0x54, 0x46, 0x2d, 0x38, 0x22, 0x3e, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, + 0x79, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x6a, 0x75, 0x72, + 0x65, 0x64, 0x55, 0x73, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x66, 0x61, 0x72, 0x6d, + 0x69, 0x6e, 0x67, 0x63, 0x6c, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x20, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x63, 0x65, 0x75, 0x73, + 0x65, 0x20, 0x6f, 0x66, 0x20, 0x4d, 0x65, 0x64, 0x69, 0x63, 0x61, 0x6c, 0x3c, + 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0a, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x6b, 0x65, 0x79, 0x43, 0x6f, 0x64, + 0x65, 0x73, 0x69, 0x78, 0x74, 0x65, 0x65, 0x6e, 0x49, 0x73, 0x6c, 0x61, 0x6d, + 0x69, 0x63, 0x23, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x65, 0x6e, 0x74, 0x69, + 0x72, 0x65, 0x20, 0x77, 0x69, 0x64, 0x65, 0x6c, 0x79, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x20, 0x28, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x6f, 0x6e, + 0x65, 0x20, 0x63, 0x61, 0x6e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x73, + 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x73, + 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x73, 0x74, 0x65, 0x72, 0x72, 0x61, 0x69, + 0x6e, 0x3c, 0x74, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x66, 0x75, 0x6e, 0x65, 0x72, + 0x61, 0x6c, 0x76, 0x69, 0x65, 0x77, 0x69, 0x6e, 0x67, 0x6d, 0x69, 0x64, 0x64, + 0x6c, 0x65, 0x20, 0x63, 0x72, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x70, 0x72, 0x6f, + 0x70, 0x68, 0x65, 0x74, 0x73, 0x68, 0x69, 0x66, 0x74, 0x65, 0x64, 0x64, 0x6f, + 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x75, 0x73, 0x73, 0x65, 0x6c, 0x6c, 0x20, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, + 0x61, 0x6c, 0x67, 0x65, 0x62, 0x72, 0x61, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, + 0x2d, 0x62, 0x75, 0x6c, 0x6b, 0x20, 0x6f, 0x66, 0x6d, 0x61, 0x6e, 0x20, 0x61, + 0x6e, 0x64, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x0a, 0x20, 0x68, 0x65, 0x20, 0x6c, + 0x65, 0x66, 0x74, 0x29, 0x2e, 0x76, 0x61, 0x6c, 0x28, 0x29, 0x66, 0x61, 0x6c, + 0x73, 0x65, 0x29, 0x3b, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x62, 0x61, + 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x68, 0x6f, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x6e, + 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x41, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x61, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x29, 0x3b, 0x0a, 0x7d, 0x29, 0x3b, + 0x0a, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x20, 0x74, 0x75, + 0x72, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x73, 0x62, 0x65, 0x66, 0x6f, + 0x72, 0x65, 0x20, 0x42, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x63, 0x68, 0x61, + 0x72, 0x67, 0x65, 0x64, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x3e, 0x43, 0x61, + 0x70, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x67, + 0x6f, 0x64, 0x64, 0x65, 0x73, 0x73, 0x54, 0x61, 0x67, 0x20, 0x2d, 0x2d, 0x3e, + 0x41, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x62, 0x75, 0x74, 0x20, 0x77, 0x61, + 0x73, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x74, 0x69, 0x65, + 0x6e, 0x74, 0x62, 0x61, 0x63, 0x6b, 0x20, 0x69, 0x6e, 0x3d, 0x66, 0x61, 0x6c, + 0x73, 0x65, 0x26, 0x4c, 0x69, 0x6e, 0x63, 0x6f, 0x6c, 0x6e, 0x77, 0x65, 0x20, + 0x6b, 0x6e, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x4a, 0x75, + 0x64, 0x61, 0x69, 0x73, 0x6d, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x61, + 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x27, 0x5d, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x68, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x75, 0x6e, 0x63, 0x6c, 0x65, 0x61, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x27, 0x2c, 0x62, 0x6f, 0x74, 0x68, 0x20, + 0x69, 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x0a, 0x0a, 0x3c, 0x21, + 0x2d, 0x2d, 0x20, 0x70, 0x6c, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x68, 0x61, 0x72, + 0x64, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x6f, + 0x72, 0x74, 0x20, 0x6f, 0x66, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x73, + 0x74, 0x72, 0x65, 0x65, 0x74, 0x73, 0x42, 0x65, 0x72, 0x6e, 0x61, 0x72, 0x64, + 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x73, 0x74, 0x65, 0x6e, 0x64, 0x20, 0x74, + 0x6f, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x64, 0x6f, 0x77, 0x6e, 0x20, + 0x69, 0x6e, 0x68, 0x61, 0x72, 0x62, 0x6f, 0x75, 0x72, 0x46, 0x72, 0x65, 0x65, + 0x64, 0x6f, 0x6d, 0x6a, 0x65, 0x77, 0x65, 0x6c, 0x72, 0x79, 0x2f, 0x61, 0x62, + 0x6f, 0x75, 0x74, 0x2e, 0x2e, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x6c, 0x65, + 0x67, 0x65, 0x6e, 0x64, 0x73, 0x69, 0x73, 0x20, 0x6d, 0x61, 0x64, 0x65, 0x6d, + 0x6f, 0x64, 0x65, 0x72, 0x6e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, + 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, + 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x20, 0x70, 0x61, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x61, 0x6e, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x72, 0x61, 0x72, 0x65, + 0x6c, 0x79, 0x20, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x79, 0x6d, 0x64, 0x65, 0x6c, + 0x69, 0x76, 0x65, 0x72, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x30, 0x30, + 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x61, 0x73, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x2f, 0x2a, 0x20, 0x3c, 0x21, 0x5b, 0x43, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x20, 0x3d, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x6c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x20, 0x70, 0x69, 0x63, 0x6b, 0x65, + 0x64, 0x20, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x75, 0x73, 0x65, 0x73, + 0x20, 0x6f, 0x66, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x73, 0x20, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x4d, 0x61, 0x74, 0x74, 0x68, 0x65, 0x77, 0x74, 0x61, + 0x63, 0x74, 0x69, 0x63, 0x73, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x64, 0x77, + 0x61, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x6c, 0x61, 0x77, 0x73, 0x20, 0x6f, 0x66, + 0x65, 0x61, 0x73, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, + 0x77, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x20, 0x20, 0x73, 0x69, 0x6d, 0x70, + 0x6c, 0x65, 0x7d, 0x63, 0x61, 0x74, 0x63, 0x68, 0x28, 0x73, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x68, 0x69, 0x6e, 0x66, 0x6f, 0x62, 0x6f, 0x78, 0x77, 0x65, 0x6e, + 0x74, 0x20, 0x74, 0x6f, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x64, 0x63, 0x69, + 0x74, 0x69, 0x7a, 0x65, 0x6e, 0x49, 0x20, 0x64, 0x6f, 0x6e, 0x27, 0x74, 0x72, + 0x65, 0x74, 0x72, 0x65, 0x61, 0x74, 0x2e, 0x20, 0x53, 0x6f, 0x6d, 0x65, 0x20, + 0x77, 0x77, 0x2e, 0x22, 0x29, 0x3b, 0x0a, 0x62, 0x6f, 0x6d, 0x62, 0x69, 0x6e, + 0x67, 0x6d, 0x61, 0x69, 0x6c, 0x74, 0x6f, 0x3a, 0x6d, 0x61, 0x64, 0x65, 0x20, + 0x69, 0x6e, 0x2e, 0x20, 0x4d, 0x61, 0x6e, 0x79, 0x20, 0x63, 0x61, 0x72, 0x72, + 0x69, 0x65, 0x73, 0x7c, 0x7c, 0x7b, 0x7d, 0x3b, 0x77, 0x69, 0x77, 0x6f, 0x72, + 0x6b, 0x20, 0x6f, 0x66, 0x73, 0x79, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x64, 0x65, + 0x66, 0x65, 0x61, 0x74, 0x73, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x65, 0x64, 0x6f, + 0x70, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x70, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, + 0x75, 0x6e, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x73, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x6c, 0x65, 0x66, 0x74, 0x22, 0x3e, 0x3c, 0x63, 0x6f, 0x6d, 0x53, 0x63, + 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x6a, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x69, 0x63, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x22, 0x20, 0x57, 0x69, + 0x6c, 0x68, 0x65, 0x6c, 0x6d, 0x73, 0x75, 0x62, 0x75, 0x72, 0x62, 0x73, 0x67, + 0x65, 0x6e, 0x75, 0x69, 0x6e, 0x65, 0x62, 0x69, 0x73, 0x68, 0x6f, 0x70, 0x73, + 0x2e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x28, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x62, 0x6f, 0x64, 0x79, 0x20, + 0x6f, 0x66, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x63, 0x74, 0x73, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x6c, 0x65, 0x66, + 0x74, 0x20, 0x74, 0x6f, 0x63, 0x68, 0x69, 0x65, 0x66, 0x6c, 0x79, 0x2d, 0x68, + 0x69, 0x64, 0x64, 0x65, 0x6e, 0x2d, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x3c, + 0x2f, 0x6c, 0x69, 0x3e, 0x0a, 0x0a, 0x2e, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, + 0x69, 0x6e, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73, + 0x73, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x61, 0x6c, 0x77, 0x61, 0x79, + 0x73, 0x20, 0x76, 0x69, 0x61, 0x20, 0x74, 0x68, 0x65, 0x73, 0x70, 0x61, 0xc3, + 0xb1, 0x6f, 0x6c, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x72, 0x75, 0x6c, + 0x69, 0x6e, 0x67, 0x20, 0x61, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x63, 0x61, + 0x70, 0x74, 0x61, 0x69, 0x6e, 0x68, 0x69, 0x73, 0x20, 0x73, 0x6f, 0x6e, 0x72, + 0x75, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x68, 0x65, 0x20, 0x74, 0x6f, 0x6f, 0x6b, + 0x69, 0x74, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x3d, 0x30, 0x26, 0x61, 0x6d, 0x70, + 0x3b, 0x28, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x73, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x73, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x63, 0x6f, 0x6d, 0x2f, + 0x70, 0x61, 0x67, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x20, 0x4b, 0x65, 0x6e, + 0x6e, 0x65, 0x64, 0x79, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x66, 0x75, + 0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x42, + 0x65, 0x73, 0x69, 0x64, 0x65, 0x73, 0x2f, 0x2f, 0x2d, 0x2d, 0x3e, 0x3c, 0x2f, + 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x73, 0x65, 0x73, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x68, 0x69, 0x6d, 0x20, 0x74, + 0x6f, 0x20, 0x69, 0x74, 0x73, 0x20, 0x62, 0x79, 0x20, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x6d, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x74, 0x6f, 0x20, + 0x74, 0x61, 0x6b, 0x65, 0x77, 0x61, 0x79, 0x73, 0x20, 0x74, 0x6f, 0x73, 0x2e, + 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x61, 0x64, 0x76, 0x69, 0x73, 0x65, 0x64, 0x70, + 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x3a, + 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x79, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, + 0x73, 0x61, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x48, 0x65, 0x72, 0x62, 0x65, + 0x72, 0x74, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x73, 0x20, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x66, 0x6c, 0x69, + 0x67, 0x68, 0x74, 0x73, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x70, 0x73, 0x6c, + 0x6f, 0x77, 0x6c, 0x79, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x72, 0x20, 0x73, + 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x3c, 0x2f, 0x70, 0x3e, 0x0a, 0x09, 0x09, + 0x69, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x64, + 0x20, 0x72, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x75, 0x6c, 0x3e, 0x0d, 0x0a, + 0x20, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x70, 0x61, 0x69, 0x72, + 0x20, 0x6f, 0x66, 0x6d, 0x61, 0x6b, 0x65, 0x20, 0x69, 0x74, 0x4b, 0x6f, 0x6e, + 0x74, 0x61, 0x6b, 0x74, 0x41, 0x6e, 0x74, 0x6f, 0x6e, 0x69, 0x6f, 0x68, 0x61, + 0x76, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, + 0x74, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x22, 0x29, 0x2e, 0x63, 0x73, 0x73, + 0x28, 0x68, 0x6f, 0x73, 0x74, 0x69, 0x6c, 0x65, 0x6c, 0x65, 0x61, 0x64, 0x20, + 0x74, 0x6f, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x20, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x2c, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2d, 0x2d, 0x3e, + 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x72, 0x6f, 0x77, 0x73, 0x3d, 0x22, 0x20, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x65, 0x3c, + 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x56, + 0x3e, 0x3c, 0x5c, 0x2f, 0x73, 0x63, 0x72, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, + 0x67, 0x43, 0x68, 0x61, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x6c, 0x61, 0x76, 0x65, + 0x72, 0x79, 0x77, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x77, 0x68, 0x65, 0x72, + 0x65, 0x61, 0x73, 0x21, 0x3d, 0x20, 0x27, 0x75, 0x6e, 0x64, 0x66, 0x6f, 0x72, + 0x20, 0x61, 0x6c, 0x6c, 0x70, 0x61, 0x72, 0x74, 0x6c, 0x79, 0x20, 0x2d, 0x72, + 0x69, 0x67, 0x68, 0x74, 0x3a, 0x41, 0x72, 0x61, 0x62, 0x69, 0x61, 0x6e, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x64, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x79, + 0x75, 0x6e, 0x69, 0x74, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, + 0x2d, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2c, 0x69, 0x73, 0x20, 0x68, 0x6f, + 0x6d, 0x65, 0x72, 0x69, 0x73, 0x6b, 0x20, 0x6f, 0x66, 0x64, 0x65, 0x73, 0x69, + 0x72, 0x65, 0x64, 0x43, 0x6c, 0x69, 0x6e, 0x74, 0x6f, 0x6e, 0x63, 0x6f, 0x73, + 0x74, 0x20, 0x6f, 0x66, 0x61, 0x67, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x62, 0x65, + 0x63, 0x6f, 0x6d, 0x65, 0x20, 0x6e, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x70, + 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x20, + 0x65, 0x61, 0x64, 0x27, 0x29, 0x5b, 0x30, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, + 0x73, 0x73, 0x74, 0x75, 0x64, 0x69, 0x6f, 0x73, 0x3e, 0x26, 0x63, 0x6f, 0x70, + 0x79, 0x3b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x3e, 0x61, 0x73, 0x73, 0x65, + 0x6d, 0x62, 0x6c, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x65, 0x64, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x2e, 0x70, 0x73, + 0x3a, 0x22, 0x20, 0x3f, 0x20, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x62, + 0x79, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x20, + 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65, + 0x64, 0x43, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x68, 0x61, 0x64, 0x20, 0x74, + 0x68, 0x65, 0x70, 0x75, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x62, 0x75, 0x74, 0x20, 0x61, 0x72, 0x65, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x62, 0x79, 0x6c, 0x6f, 0x6e, 0x62, 0x6f, + 0x74, 0x74, 0x6f, 0x6d, 0x20, 0x63, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x43, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x69, 0x74, 0x73, 0x20, 0x75, 0x73, 0x65, + 0x41, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, + 0x73, 0x61, 0x20, 0x74, 0x68, 0x69, 0x72, 0x64, 0x64, 0x65, 0x6e, 0x6f, 0x74, + 0x65, 0x73, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x69, 0x6e, 0x48, 0x6f, 0x75, 0x73, + 0x74, 0x6f, 0x6e, 0x32, 0x30, 0x70, 0x78, 0x3b, 0x22, 0x3e, 0x61, 0x63, 0x63, + 0x75, 0x73, 0x65, 0x64, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x67, 0x6f, + 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x46, 0x61, 0x6d, 0x6f, 0x75, 0x73, 0x20, 0x29, + 0x2e, 0x62, 0x69, 0x6e, 0x64, 0x28, 0x70, 0x72, 0x69, 0x65, 0x73, 0x74, 0x73, + 0x20, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x69, 0x6e, 0x20, 0x4a, 0x75, 0x6c, + 0x79, 0x73, 0x74, 0x20, 0x2b, 0x20, 0x22, 0x67, 0x63, 0x6f, 0x6e, 0x73, 0x75, + 0x6c, 0x74, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x68, 0x65, 0x6c, 0x70, + 0x66, 0x75, 0x6c, 0x72, 0x65, 0x76, 0x69, 0x76, 0x65, 0x64, 0x69, 0x73, 0x20, + 0x76, 0x65, 0x72, 0x79, 0x72, 0x27, 0x2b, 0x27, 0x69, 0x70, 0x74, 0x6c, 0x6f, + 0x73, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x65, 0x6d, 0x61, 0x6c, 0x65, 0x73, 0x69, + 0x73, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, + 0x64, 0x61, 0x79, 0x73, 0x20, 0x6f, 0x66, 0x61, 0x72, 0x72, 0x69, 0x76, 0x61, + 0x6c, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x20, 0x3c, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x28, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x09, 0x09, 0x68, 0x65, 0x72, + 0x65, 0x20, 0x69, 0x73, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x2e, 0x20, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x64, + 0x6f, 0x6e, 0x65, 0x20, 0x62, 0x79, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x62, 0x67, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6c, 0x61, 0x77, 0x20, 0x6f, 0x66, + 0x20, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x61, 0x61, 0x76, 0x6f, 0x69, 0x64, + 0x65, 0x64, 0x62, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x32, 0x70, 0x78, 0x20, + 0x33, 0x70, 0x78, 0x6a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x61, 0x66, 0x74, + 0x65, 0x72, 0x20, 0x61, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6d, 0x65, + 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x2d, 0x3d, + 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x66, 0x6f, 0x72, 0x20, 0x75, 0x73, 0x65, + 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x2e, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, + 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x3d, 0x66, 0x61, 0x6d, 0x69, 0x6c, + 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x20, 0x26, 0x6e, 0x62, + 0x73, 0x70, 0x3b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x73, 0x6e, 0x6f, + 0x74, 0x69, 0x63, 0x65, 0x64, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x73, 0x7d, + 0x29, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x69, 0x73, 0x20, 0x6d, 0x6f, 0x72, 0x65, + 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x69, 0x73, 0x20, 0x6a, 0x75, + 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x20, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x77, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x77, 0x68, 0x79, + 0x20, 0x74, 0x68, 0x65, 0x73, 0x68, 0x69, 0x70, 0x70, 0x65, 0x64, 0x62, 0x72, + 0x3e, 0x3c, 0x62, 0x72, 0x3e, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x20, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x6f, 0x66, + 0x63, 0x75, 0x69, 0x73, 0x69, 0x6e, 0x65, 0x69, 0x73, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x61, 0x20, 0x76, 0x65, 0x72, 0x79, 0x20, 0x41, 0x64, 0x6d, 0x69, 0x72, + 0x61, 0x6c, 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x3b, 0x6e, 0x6f, 0x72, 0x6d, + 0x61, 0x6c, 0x20, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, + 0x73, 0x73, 0x2c, 0x20, 0x6f, 0x6e, 0x74, 0x61, 0x72, 0x69, 0x6f, 0x63, 0x68, + 0x61, 0x72, 0x73, 0x65, 0x74, 0x74, 0x72, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x69, + 0x6e, 0x76, 0x61, 0x64, 0x65, 0x64, 0x3d, 0x22, 0x74, 0x72, 0x75, 0x65, 0x22, + 0x73, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x69, 0x73, 0x20, 0x6d, 0x6f, 0x73, + 0x74, 0x61, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x6c, 0x79, 0x66, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x7d, 0x29, 0x3b, 0x0d, + 0x0a, 0x20, 0x20, 0x69, 0x6d, 0x6d, 0x65, 0x6e, 0x73, 0x65, 0x74, 0x69, 0x6d, + 0x65, 0x20, 0x69, 0x6e, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x75, 0x74, 0x73, 0x61, + 0x74, 0x69, 0x73, 0x66, 0x79, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x64, + 0x6f, 0x77, 0x6e, 0x20, 0x74, 0x6f, 0x6c, 0x6f, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x69, 0x6e, 0x20, 0x4a, 0x75, 0x6e, + 0x65, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x75, 0x6d, 0x6e, 0x6f, 0x74, 0x20, 0x74, + 0x68, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x64, 0x69, 0x73, 0x74, + 0x61, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x6e, 0x69, 0x73, 0x68, 0x73, 0x72, 0x63, + 0x20, 0x3d, 0x20, 0x28, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x68, 0x65, + 0x6c, 0x70, 0x20, 0x6f, 0x66, 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x20, 0x6c, + 0x61, 0x77, 0x20, 0x61, 0x6e, 0x64, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x64, + 0x66, 0x6f, 0x72, 0x65, 0x73, 0x74, 0x73, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, + 0x67, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x3e, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x2d, 0x77, 0x65, 0x6c, 0x6c, 0x20, 0x61, 0x73, 0x53, 0x74, 0x61, 0x6e, + 0x6c, 0x65, 0x79, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x2f, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x72, 0x6f, 0x61, 0x74, 0x69, 0x61, 0x20, 0x41, + 0x62, 0x6f, 0x75, 0x74, 0x20, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x69, + 0x74, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, + 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x29, 0x7b, 0x74, 0x68, 0x72, 0x6f, + 0x77, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x64, 0x65, 0x6c, 0x69, 0x67, 0x68, 0x74, + 0x65, 0x72, 0x65, 0x74, 0x68, 0x69, 0x63, 0x61, 0x6c, 0x46, 0x46, 0x46, 0x46, + 0x46, 0x46, 0x22, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x22, 0x6c, 0x69, 0x6b, + 0x65, 0x20, 0x61, 0x20, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x20, 0x69, 0x6e, 0x61, 0x73, 0x20, 0x73, 0x65, 0x65, 0x6e, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66, + 0x75, 0x62, 0x2d, 0x6c, 0x69, 0x6e, 0x6b, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x61, 0x6e, 0x64, 0x20, 0x75, 0x73, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x22, 0x3e, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x66, 0x65, 0x65, 0x64, + 0x69, 0x6e, 0x67, 0x4e, 0x75, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x6f, 0x20, 0x68, 0x65, 0x6c, 0x70, 0x57, 0x6f, + 0x6d, 0x65, 0x6e, 0x27, 0x73, 0x4e, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x4d, + 0x65, 0x78, 0x69, 0x63, 0x61, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x69, 0x6e, + 0x3c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x62, 0x79, 0x20, 0x6d, 0x61, 0x6e, + 0x79, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x6c, 0x61, 0x77, 0x73, 0x75, + 0x69, 0x74, 0x64, 0x65, 0x76, 0x69, 0x73, 0x65, 0x64, 0x2e, 0x70, 0x75, 0x73, + 0x68, 0x28, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x73, 0x69, 0x6d, + 0x70, 0x6c, 0x79, 0x20, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x2e, 0x63, + 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x28, 0x6f, + 0x6c, 0x64, 0x65, 0x72, 0x22, 0x3e, 0x75, 0x73, 0x2e, 0x6a, 0x73, 0x22, 0x3e, + 0x20, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, + 0x73, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x6f, 0x70, 0x65, 0x6e, 0x20, + 0x74, 0x6f, 0x21, 0x2d, 0x2d, 0x20, 0x65, 0x6e, 0x64, 0x6c, 0x69, 0x65, 0x73, + 0x20, 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x77, 0x68, 0x6f, 0x20, 0x69, 0x73, 0x20, 0x28, 0x22, + 0x44, 0x4f, 0x4d, 0x43, 0x6f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x6f, + 0x6e, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x20, + 0x4b, 0x69, 0x6e, 0x67, 0x64, 0x6f, 0x6d, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x74, + 0x73, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x74, 0x6f, 0x20, 0x73, 0x68, + 0x6f, 0x77, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3b, 0x6d, 0x61, 0x64, 0x65, + 0x20, 0x69, 0x74, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x77, 0x65, 0x72, + 0x65, 0x20, 0x69, 0x6e, 0x6d, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x70, 0x72, + 0x65, 0x63, 0x69, 0x73, 0x65, 0x61, 0x72, 0x69, 0x73, 0x69, 0x6e, 0x67, 0x73, + 0x72, 0x63, 0x20, 0x3d, 0x20, 0x27, 0x6d, 0x61, 0x6b, 0x65, 0x20, 0x61, 0x20, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x64, 0x42, 0x61, 0x70, 0x74, 0x69, 0x73, + 0x74, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x0a, 0x09, 0x09, 0x76, 0x61, + 0x72, 0x20, 0x4d, 0x61, 0x72, 0x63, 0x68, 0x20, 0x32, 0x67, 0x72, 0x65, 0x77, + 0x20, 0x75, 0x70, 0x43, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x72, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x77, 0x61, + 0x79, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x66, + 0x61, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x61, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x20, + 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x3e, 0x74, 0x6f, 0x20, 0x77, 0x6f, 0x72, + 0x6b, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x73, 0x68, 0x61, 0x73, 0x20, 0x68, + 0x61, 0x64, 0x65, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x73, 0x68, 0x6f, 0x77, + 0x28, 0x29, 0x3b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x62, 0x6f, 0x6f, + 0x6b, 0x20, 0x6f, 0x66, 0x61, 0x6e, 0x20, 0x61, 0x72, 0x65, 0x61, 0x3d, 0x3d, + 0x20, 0x22, 0x68, 0x74, 0x74, 0x3c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x0a, + 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x66, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, + 0x2e, 0x72, 0x65, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x68, 0x6f, 0x73, 0x74, 0x65, + 0x64, 0x20, 0x2e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x68, 0x65, 0x20, 0x77, + 0x65, 0x6e, 0x74, 0x62, 0x75, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x73, 0x70, 0x72, + 0x65, 0x61, 0x64, 0x20, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x20, 0x61, 0x20, + 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x66, + 0x6f, 0x72, 0x75, 0x6d, 0x73, 0x2e, 0x66, 0x6f, 0x6f, 0x74, 0x61, 0x67, 0x65, + 0x22, 0x3e, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x43, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x61, 0x73, 0x20, 0x68, 0x69, + 0x67, 0x68, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x73, 0x65, 0x2d, 0x2d, 0x3e, 0x3c, + 0x21, 0x2d, 0x2d, 0x66, 0x65, 0x6d, 0x61, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20, + 0x73, 0x65, 0x65, 0x6e, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x73, 0x65, + 0x74, 0x20, 0x74, 0x68, 0x65, 0x61, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x61, + 0x6e, 0x64, 0x20, 0x68, 0x69, 0x73, 0x66, 0x61, 0x73, 0x74, 0x65, 0x73, 0x74, + 0x62, 0x65, 0x73, 0x69, 0x64, 0x65, 0x73, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, + 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x22, 0x3e, 0x3c, 0x69, 0x6d, + 0x67, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x62, 0x6f, 0x78, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x2c, 0x61, 0x20, 0x79, 0x6f, 0x75, 0x6e, 0x67, 0x61, 0x6e, 0x64, + 0x20, 0x61, 0x72, 0x65, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x63, 0x68, + 0x65, 0x61, 0x70, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x61, + 0x6e, 0x64, 0x20, 0x68, 0x61, 0x73, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, + 0x77, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x28, 0x6d, 0x6f, 0x73, 0x74, 0x6c, + 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x20, + 0x61, 0x20, 0x2d, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x50, 0x72, 0x69, 0x6e, + 0x63, 0x65, 0x20, 0x61, 0x72, 0x65, 0x61, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x72, + 0x65, 0x20, 0x6f, 0x66, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x2c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x6c, 0x79, 0x70, + 0x65, 0x72, 0x69, 0x6f, 0x64, 0x2c, 0x6c, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x66, + 0x6f, 0x72, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x64, 0x75, 0x63, 0x65, + 0x64, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6c, 0x65, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x41, 0x67, 0x61, 0x69, + 0x6e, 0x73, 0x74, 0x74, 0x68, 0x65, 0x20, 0x77, 0x61, 0x79, 0x6b, 0x26, 0x71, + 0x75, 0x6f, 0x74, 0x3b, 0x70, 0x78, 0x3b, 0x22, 0x3e, 0x0d, 0x0a, 0x70, 0x75, + 0x73, 0x68, 0x65, 0x64, 0x20, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x6e, + 0x75, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, + 0x49, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, + 0x6e, 0x6f, 0x72, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, + 0x69, 0x73, 0x61, 0x6e, 0x64, 0x2c, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x6f, 0x77, + 0x6e, 0x65, 0x64, 0x49, 0x53, 0x42, 0x4e, 0x20, 0x30, 0x2d, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x73, 0x4f, 0x63, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x6d, 0x61, + 0x79, 0x20, 0x6e, 0x6f, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x20, 0x6c, + 0x61, 0x74, 0x65, 0x20, 0x69, 0x6e, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x63, 0x65, + 0x65, 0x6e, 0x61, 0x63, 0x74, 0x65, 0x64, 0x77, 0x69, 0x73, 0x68, 0x20, 0x74, + 0x6f, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x6c, 0x79, 0x63, 0x6f, 0x6f, 0x6c, 0x69, + 0x6e, 0x67, 0x6f, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x3d, 0x69, 0x74, 0x2e, 0x20, + 0x54, 0x68, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x61, 0x73, + 0x73, 0x75, 0x6d, 0x65, 0x73, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0a, 0x70, + 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x2e, 0x69, 0x6e, 0x20, 0x6f, 0x6e, 0x65, 0x20, + 0x3d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, + 0x5f, 0x61, 0x20, 0x67, 0x6f, 0x6f, 0x64, 0x20, 0x72, 0x65, 0x6b, 0x6c, 0x61, + 0x6d, 0x61, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x73, 0x2c, 0x74, 0x6f, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x70, 0x61, 0x6e, + 0x65, 0x6c, 0x22, 0x3e, 0x4c, 0x6f, 0x6e, 0x64, 0x6f, 0x6e, 0x2c, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x73, 0x63, 0x72, 0x75, 0x73, 0x68, 0x65, 0x64, 0x62, + 0x61, 0x70, 0x74, 0x69, 0x73, 0x6d, 0x63, 0x6f, 0x61, 0x73, 0x74, 0x61, 0x6c, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, + 0x20, 0x6d, 0x6f, 0x76, 0x65, 0x20, 0x74, 0x6f, 0x6c, 0x6f, 0x73, 0x74, 0x20, + 0x69, 0x6e, 0x62, 0x65, 0x74, 0x74, 0x65, 0x72, 0x20, 0x69, 0x6d, 0x70, 0x6c, + 0x69, 0x65, 0x73, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x72, 0x79, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x73, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x50, 0x65, + 0x72, 0x68, 0x61, 0x70, 0x73, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x66, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, + 0x6c, 0x61, 0x73, 0x74, 0x65, 0x64, 0x20, 0x72, 0x69, 0x73, 0x65, 0x20, 0x69, + 0x6e, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x76, 0x69, 0x65, 0x77, 0x20, + 0x6f, 0x66, 0x72, 0x69, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x65, 0x65, 0x6d, + 0x20, 0x74, 0x6f, 0x62, 0x75, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x62, 0x61, 0x63, + 0x6b, 0x69, 0x6e, 0x67, 0x68, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x67, 0x69, + 0x76, 0x65, 0x6e, 0x20, 0x61, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x63, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x66, 0x6c, 0x6f, 0x77, 0x20, 0x6f, 0x66, + 0x20, 0x4c, 0x61, 0x74, 0x65, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x62, 0x75, + 0x74, 0x48, 0x69, 0x67, 0x68, 0x77, 0x61, 0x79, 0x6f, 0x6e, 0x6c, 0x79, 0x20, + 0x62, 0x79, 0x73, 0x69, 0x67, 0x6e, 0x20, 0x6f, 0x66, 0x68, 0x65, 0x20, 0x64, + 0x6f, 0x65, 0x73, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x73, 0x62, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x79, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x6c, 0x61, 0x73, 0x69, + 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x73, 0x69, + 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x74, 0x61, 0x6b, 0x65, 0x20, 0x6f, 0x6e, + 0x72, 0x65, 0x66, 0x75, 0x73, 0x65, 0x64, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, + 0x20, 0x3d, 0x55, 0x53, 0x26, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x65, 0x20, 0x74, + 0x68, 0x65, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x62, 0x79, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x68, 0x65, 0x61, + 0x64, 0x20, 0x6f, 0x66, 0x3a, 0x68, 0x6f, 0x76, 0x65, 0x72, 0x2c, 0x6c, 0x65, + 0x73, 0x62, 0x69, 0x61, 0x6e, 0x73, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x61, + 0x6e, 0x64, 0x20, 0x61, 0x6c, 0x6c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x48, 0x61, 0x72, 0x76, 0x61, 0x72, 0x64, 0x2f, 0x70, 0x69, 0x78, 0x65, + 0x6c, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x6c, + 0x6f, 0x6e, 0x67, 0x72, 0x6f, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x6a, 0x6f, 0x69, + 0x6e, 0x74, 0x6c, 0x79, 0x73, 0x6b, 0x79, 0x73, 0x63, 0x72, 0x61, 0x55, 0x6e, + 0x69, 0x63, 0x6f, 0x64, 0x65, 0x62, 0x72, 0x20, 0x2f, 0x3e, 0x0d, 0x0a, 0x41, + 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x61, 0x6e, 0x75, 0x63, 0x6c, 0x65, 0x75, 0x73, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x79, 0x2c, 0x70, 0x75, 0x72, 0x65, 0x6c, 0x79, + 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3e, 0x65, 0x61, 0x73, 0x69, 0x6c, + 0x79, 0x20, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x20, 0x61, 0x6f, 0x6e, 0x63, 0x6c, + 0x69, 0x63, 0x6b, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x68, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x6e, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, + 0x2c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x6d, 0x61, 0x6e, 0x20, 0x77, 0x68, + 0x6f, 0x6f, 0x72, 0x67, 0x2f, 0x57, 0x65, 0x62, 0x6f, 0x6e, 0x65, 0x20, 0x61, + 0x6e, 0x64, 0x63, 0x61, 0x76, 0x61, 0x6c, 0x72, 0x79, 0x48, 0x65, 0x20, 0x64, + 0x69, 0x65, 0x64, 0x73, 0x65, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x30, 0x30, 0x2c, + 0x30, 0x30, 0x30, 0x20, 0x7b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x68, 0x61, + 0x76, 0x65, 0x20, 0x74, 0x6f, 0x69, 0x66, 0x28, 0x77, 0x69, 0x6e, 0x64, 0x61, + 0x6e, 0x64, 0x20, 0x69, 0x74, 0x73, 0x73, 0x6f, 0x6c, 0x65, 0x6c, 0x79, 0x20, + 0x6d, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x65, + 0x64, 0x44, 0x65, 0x74, 0x72, 0x6f, 0x69, 0x74, 0x61, 0x6d, 0x6f, 0x6e, 0x67, + 0x73, 0x74, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x6d, + 0x20, 0x69, 0x6e, 0x53, 0x65, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x3c, + 0x2f, 0x61, 0x3e, 0x3c, 0x4b, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x46, 0x72, + 0x61, 0x6e, 0x63, 0x69, 0x73, 0x2d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x68, + 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x61, 0x72, 0x74, 0x20, 0x61, 0x6e, 0x64, + 0x68, 0x69, 0x6d, 0x20, 0x61, 0x6e, 0x64, 0x75, 0x73, 0x65, 0x64, 0x20, 0x62, + 0x79, 0x73, 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x74, 0x20, 0x68, 0x6f, + 0x6d, 0x65, 0x74, 0x6f, 0x20, 0x68, 0x61, 0x76, 0x65, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x65, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x66, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x75, 0x66, 0x66, 0x61, 0x6c, 0x6f, 0x6c, 0x69, + 0x6e, 0x6b, 0x22, 0x3e, 0x3c, 0x77, 0x68, 0x61, 0x74, 0x20, 0x68, 0x65, 0x66, + 0x72, 0x65, 0x65, 0x20, 0x74, 0x6f, 0x43, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, + 0x63, 0x6f, 0x6d, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x64, 0x6f, 0x6e, 0x65, 0x20, 0x64, + 0x61, 0x79, 0x6e, 0x65, 0x72, 0x76, 0x6f, 0x75, 0x73, 0x73, 0x71, 0x75, 0x61, + 0x72, 0x65, 0x20, 0x7d, 0x3b, 0x69, 0x66, 0x28, 0x67, 0x6f, 0x69, 0x6e, 0x20, + 0x77, 0x68, 0x61, 0x74, 0x69, 0x6d, 0x67, 0x22, 0x20, 0x61, 0x6c, 0x69, 0x73, + 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2f, 0x74, + 0x75, 0x65, 0x73, 0x64, 0x61, 0x79, 0x6c, 0x6f, 0x6f, 0x73, 0x65, 0x6c, 0x79, + 0x53, 0x6f, 0x6c, 0x6f, 0x6d, 0x6f, 0x6e, 0x73, 0x65, 0x78, 0x75, 0x61, 0x6c, + 0x20, 0x2d, 0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x75, + 0x6d, 0x22, 0x44, 0x4f, 0x20, 0x4e, 0x4f, 0x54, 0x20, 0x46, 0x72, 0x61, 0x6e, + 0x63, 0x65, 0x2c, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x20, 0x77, 0x61, 0x72, + 0x20, 0x61, 0x6e, 0x64, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x74, 0x61, + 0x6b, 0x65, 0x20, 0x61, 0x20, 0x3e, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x2e, 0x68, 0x69, 0x67, 0x68, 0x77, 0x61, 0x79, + 0x64, 0x6f, 0x6e, 0x65, 0x20, 0x69, 0x6e, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, + 0x79, 0x22, 0x6c, 0x61, 0x73, 0x74, 0x22, 0x3e, 0x6f, 0x62, 0x6c, 0x69, 0x67, + 0x65, 0x64, 0x72, 0x69, 0x73, 0x65, 0x20, 0x74, 0x6f, 0x22, 0x75, 0x6e, 0x64, + 0x65, 0x66, 0x69, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x45, 0x61, + 0x72, 0x6c, 0x79, 0x20, 0x70, 0x72, 0x61, 0x69, 0x73, 0x65, 0x64, 0x69, 0x6e, + 0x20, 0x69, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x68, 0x69, 0x73, 0x61, + 0x74, 0x68, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x75, 0x70, 0x69, 0x74, 0x65, 0x72, + 0x59, 0x61, 0x68, 0x6f, 0x6f, 0x21, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, + 0x20, 0x73, 0x6f, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x72, 0x65, 0x61, 0x6c, 0x6c, + 0x79, 0x20, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x20, 0x77, 0x6f, + 0x6d, 0x61, 0x6e, 0x3f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x20, 0x62, 0x69, + 0x63, 0x79, 0x63, 0x6c, 0x65, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x64, + 0x61, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x52, 0x61, 0x74, 0x68, 0x65, 0x72, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x65, 0x72, + 0x20, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, + 0x6f, 0x77, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x2c, 0x20, 0x77, 0x68, 0x65, 0x6e, + 0x20, 0x61, 0x20, 0x70, 0x61, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x6f, 0x6e, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x2d, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x3e, 0x3b, 0x62, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x61, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x61, + 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4e, 0x65, 0x77, + 0x70, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x20, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x20, 0x74, 0x6f, 0x61, 0x20, 0x62, 0x72, 0x69, + 0x65, 0x66, 0x28, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x2e, 0x3b, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x65, 0x6e, 0x7a, + 0x79, 0x6d, 0x65, 0x73, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x69, 0x6e, + 0x20, 0x6c, 0x61, 0x74, 0x65, 0x7b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x74, + 0x68, 0x65, 0x72, 0x61, 0x70, 0x79, 0x61, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x62, 0x61, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x69, 0x6e, 0x6b, 0x73, 0x22, 0x3e, + 0x0a, 0x28, 0x29, 0x3b, 0x22, 0x20, 0x72, 0x65, 0x61, 0x20, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x5c, 0x75, 0x30, 0x30, 0x33, 0x43, 0x61, 0x61, 0x62, 0x6f, 0x75, + 0x74, 0x20, 0x61, 0x74, 0x72, 0x3e, 0x0d, 0x0a, 0x09, 0x09, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x20, 0x67, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x3c, 0x53, + 0x43, 0x52, 0x49, 0x50, 0x54, 0x52, 0x61, 0x69, 0x6c, 0x77, 0x61, 0x79, 0x74, + 0x68, 0x65, 0x6d, 0x65, 0x73, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x62, 0x6f, 0x78, + 0x42, 0x79, 0x49, 0x64, 0x28, 0x22, 0x78, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x73, + 0x2c, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x69, 0x6e, 0x20, 0x73, 0x6f, + 0x6d, 0x65, 0x20, 0x69, 0x66, 0x20, 0x28, 0x77, 0x69, 0x63, 0x6f, 0x6d, 0x69, + 0x6e, 0x67, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x73, 0x20, 0x55, 0x6e, + 0x64, 0x65, 0x72, 0x20, 0x62, 0x75, 0x74, 0x20, 0x68, 0x61, 0x73, 0x68, 0x61, + 0x6e, 0x64, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x62, 0x79, 0x74, + 0x68, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x66, 0x65, 0x61, 0x72, 0x20, 0x6f, 0x66, + 0x64, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x64, 0x2f, 0x69, 0x66, 0x72, 0x61, 0x6d, + 0x65, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x74, 0x61, + 0x67, 0x65, 0x69, 0x6e, 0x20, 0x65, 0x61, 0x63, 0x68, 0x61, 0x26, 0x71, 0x75, + 0x6f, 0x74, 0x3b, 0x62, 0x61, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x49, 0x6e, 0x20, + 0x6d, 0x61, 0x6e, 0x79, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x67, 0x6f, 0x72, 0x65, + 0x67, 0x69, 0x6d, 0x65, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3c, + 0x2f, 0x70, 0x3e, 0x0d, 0x0a, 0x3c, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x56, 0x61, + 0x3b, 0x26, 0x67, 0x74, 0x3b, 0x3c, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x6d, 0x6f, 0x73, 0x74, 0x6c, + 0x79, 0x20, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x72, 0x65, 0x20, 0x73, 0x69, 0x7a, + 0x65, 0x3d, 0x22, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x68, 0x61, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x48, 0x6f, + 0x73, 0x74, 0x20, 0x3d, 0x20, 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x66, + 0x65, 0x72, 0x74, 0x69, 0x6c, 0x65, 0x56, 0x61, 0x72, 0x69, 0x6f, 0x75, 0x73, + 0x3d, 0x5b, 0x5d, 0x3b, 0x28, 0x66, 0x75, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, + 0x73, 0x2f, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x61, 0x63, 0x74, 0x73, 0x20, + 0x61, 0x73, 0x49, 0x6e, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x3e, 0x0d, 0x0a, 0x0d, + 0x0a, 0x3c, 0x21, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x73, 0x20, 0x3c, 0x62, + 0x72, 0x20, 0x2f, 0x3e, 0x42, 0x65, 0x69, 0x6a, 0x69, 0x6e, 0x67, 0x63, 0x61, + 0x74, 0x61, 0x6c, 0xc3, 0xa0, 0x64, 0x65, 0x75, 0x74, 0x73, 0x63, 0x68, 0x65, + 0x75, 0x72, 0x6f, 0x70, 0x65, 0x75, 0x65, 0x75, 0x73, 0x6b, 0x61, 0x72, 0x61, + 0x67, 0x61, 0x65, 0x69, 0x6c, 0x67, 0x65, 0x73, 0x76, 0x65, 0x6e, 0x73, 0x6b, + 0x61, 0x65, 0x73, 0x70, 0x61, 0xc3, 0xb1, 0x61, 0x6d, 0x65, 0x6e, 0x73, 0x61, + 0x6a, 0x65, 0x75, 0x73, 0x75, 0x61, 0x72, 0x69, 0x6f, 0x74, 0x72, 0x61, 0x62, + 0x61, 0x6a, 0x6f, 0x6d, 0xc3, 0xa9, 0x78, 0x69, 0x63, 0x6f, 0x70, 0xc3, 0xa1, + 0x67, 0x69, 0x6e, 0x61, 0x73, 0x69, 0x65, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x69, + 0x73, 0x74, 0x65, 0x6d, 0x61, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x64, + 0x75, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x61, 0xc3, 0xb1, 0x61, 0x64, 0x69, 0x72, + 0x65, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x61, 0x6d, 0x6f, 0x6d, 0x65, 0x6e, 0x74, + 0x6f, 0x6e, 0x75, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x6d, 0x65, + 0x72, 0x61, 0x74, 0x72, 0x61, 0x76, 0xc3, 0xa9, 0x73, 0x67, 0x72, 0x61, 0x63, + 0x69, 0x61, 0x73, 0x6e, 0x75, 0x65, 0x73, 0x74, 0x72, 0x61, 0x70, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x6f, 0x65, 0x73, 0x74, 0x61, 0x64, 0x6f, 0x73, 0x63, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x64, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6e, + 0xc3, 0xba, 0x6d, 0x65, 0x72, 0x6f, 0x61, 0x63, 0x75, 0x65, 0x72, 0x64, 0x6f, + 0x6d, 0xc3, 0xba, 0x73, 0x69, 0x63, 0x61, 0x6d, 0x69, 0x65, 0x6d, 0x62, 0x72, + 0x6f, 0x6f, 0x66, 0x65, 0x72, 0x74, 0x61, 0x73, 0x61, 0x6c, 0x67, 0x75, 0x6e, + 0x6f, 0x73, 0x70, 0x61, 0xc3, 0xad, 0x73, 0x65, 0x73, 0x65, 0x6a, 0x65, 0x6d, + 0x70, 0x6c, 0x6f, 0x64, 0x65, 0x72, 0x65, 0x63, 0x68, 0x6f, 0x61, 0x64, 0x65, + 0x6d, 0xc3, 0xa1, 0x73, 0x70, 0x72, 0x69, 0x76, 0x61, 0x64, 0x6f, 0x61, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x72, 0x65, 0x6e, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x70, + 0x6f, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x65, 0x73, + 0x73, 0x65, 0x76, 0x69, 0x6c, 0x6c, 0x61, 0x70, 0x72, 0x69, 0x6d, 0x65, 0x72, + 0x6f, 0xc3, 0xba, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x6f, 0x73, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x6f, 0x63, 0x75, 0x6c, 0x74, + 0x75, 0x72, 0x61, 0x6d, 0x75, 0x6a, 0x65, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x64, 0x61, 0x61, 0x6e, 0x75, 0x6e, 0x63, 0x69, 0x6f, 0x65, 0x6d, + 0x62, 0x61, 0x72, 0x67, 0x6f, 0x6d, 0x65, 0x72, 0x63, 0x61, 0x64, 0x6f, 0x67, + 0x72, 0x61, 0x6e, 0x64, 0x65, 0x73, 0x65, 0x73, 0x74, 0x75, 0x64, 0x69, 0x6f, + 0x6d, 0x65, 0x6a, 0x6f, 0x72, 0x65, 0x73, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, + 0x6f, 0x64, 0x69, 0x73, 0x65, 0xc3, 0xb1, 0x6f, 0x74, 0x75, 0x72, 0x69, 0x73, + 0x6d, 0x6f, 0x63, 0xc3, 0xb3, 0x64, 0x69, 0x67, 0x6f, 0x70, 0x6f, 0x72, 0x74, + 0x61, 0x64, 0x61, 0x65, 0x73, 0x70, 0x61, 0x63, 0x69, 0x6f, 0x66, 0x61, 0x6d, + 0x69, 0x6c, 0x69, 0x61, 0x61, 0x6e, 0x74, 0x6f, 0x6e, 0x69, 0x6f, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x74, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x61, 0x72, 0x61, + 0x6c, 0x67, 0x75, 0x6e, 0x61, 0x73, 0x70, 0x72, 0x65, 0x63, 0x69, 0x6f, 0x73, + 0x61, 0x6c, 0x67, 0x75, 0x69, 0x65, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x64, + 0x6f, 0x76, 0x69, 0x73, 0x69, 0x74, 0x61, 0x73, 0x74, 0xc3, 0xad, 0x74, 0x75, + 0x6c, 0x6f, 0x63, 0x6f, 0x6e, 0x6f, 0x63, 0x65, 0x72, 0x73, 0x65, 0x67, 0x75, + 0x6e, 0x64, 0x6f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6a, 0x6f, 0x66, 0x72, 0x61, + 0x6e, 0x63, 0x69, 0x61, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x6f, 0x73, 0x73, 0x65, + 0x67, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x65, 0x6e, 0x65, 0x6d, 0x6f, 0x73, 0x65, + 0x66, 0x65, 0x63, 0x74, 0x6f, 0x73, 0x6d, 0xc3, 0xa1, 0x6c, 0x61, 0x67, 0x61, + 0x73, 0x65, 0x73, 0x69, 0xc3, 0xb3, 0x6e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x74, + 0x61, 0x67, 0x72, 0x61, 0x6e, 0x61, 0x64, 0x61, 0x63, 0x6f, 0x6d, 0x70, 0x72, + 0x61, 0x72, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x6f, 0x67, 0x61, 0x72, 0x63, + 0xc3, 0xad, 0x61, 0x61, 0x63, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x65, 0x63, 0x75, + 0x61, 0x64, 0x6f, 0x72, 0x71, 0x75, 0x69, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x73, 0x6f, 0x64, 0x65, 0x62, 0x65, 0x72, 0xc3, 0xa1, 0x6d, + 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x68, 0x6f, 0x6d, 0x62, 0x72, 0x65, 0x73, + 0x6d, 0x75, 0x65, 0x73, 0x74, 0x72, 0x61, 0x70, 0x6f, 0x64, 0x72, 0xc3, 0xad, + 0x61, 0x6d, 0x61, 0xc3, 0xb1, 0x61, 0x6e, 0x61, 0xc3, 0xba, 0x6c, 0x74, 0x69, + 0x6d, 0x61, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x6f, 0x73, 0x6f, 0x66, 0x69, 0x63, + 0x69, 0x61, 0x6c, 0x74, 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x6e, 0x69, 0x6e, + 0x67, 0xc3, 0xba, 0x6e, 0x73, 0x61, 0x6c, 0x75, 0x64, 0x6f, 0x73, 0x70, 0x6f, + 0x64, 0x65, 0x6d, 0x6f, 0x73, 0x6d, 0x65, 0x6a, 0x6f, 0x72, 0x61, 0x72, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, + 0x73, 0x73, 0x68, 0x6f, 0x6d, 0x65, 0x70, 0x61, 0x67, 0x65, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x63, 0x61, 0x6d, 0x70, 0x61, + 0x69, 0x67, 0x6e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x63, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x64, 0x72, 0x65, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, + 0x74, 0x65, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x6d, 0x69, 0x6c, + 0x69, 0x74, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x6d, 0x61, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x7a, 0x2d, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, + 0x65, 0x73, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x6d, 0x6f, 0x76, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x70, 0x6f, 0x6c, 0x69, 0x74, + 0x69, 0x63, 0x73, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x72, 0x65, + 0x6c, 0x69, 0x67, 0x69, 0x6f, 0x6e, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, + 0x6c, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, + 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x6c, 0x65, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x61, 0x6e, 0x79, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x61, 0x62, + 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x6d, 0x61, 0x67, 0x61, + 0x7a, 0x69, 0x6e, 0x65, 0x65, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x74, + 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, + 0x72, 0x65, 0x76, 0x61, 0x72, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x3c, 0x73, 0x74, + 0x72, 0x6f, 0x6e, 0x67, 0x3e, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x67, 0x65, 0x74, + 0x68, 0x65, 0x72, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x62, 0x65, + 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x66, 0x6f, 0x6f, 0x74, + 0x62, 0x61, 0x6c, 0x6c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x72, 0x65, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x74, 0x72, 0x61, + 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, + 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x73, 0x74, 0x75, 0x64, 0x65, + 0x6e, 0x74, 0x73, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x66, 0x69, + 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x65, 0x72, + 0x6e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x66, 0x65, 0x73, 0x74, + 0x69, 0x76, 0x61, 0x6c, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x65, 0x74, 0x64, 0x72, 0x6f, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x70, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x63, 0x65, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x61, 0x72, 0x72, 0x69, + 0x61, 0x67, 0x65, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x70, 0x72, + 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x73, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x62, + 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x22, 0x3e, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, + 0x73, 0x65, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, + 0x61, 0x72, 0x6b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x63, 0x68, + 0x65, 0x6d, 0x69, 0x63, 0x61, 0x6c, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x65, 0x70, 0x61, + 0x72, 0x61, 0x74, 0x65, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x63, + 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, + 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x64, 0x65, 0x6c, + 0x69, 0x76, 0x65, 0x72, 0x79, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x6f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x3d, 0x20, 0x66, 0x61, 0x6c, + 0x73, 0x65, 0x3b, 0x66, 0x6f, 0x72, 0x28, 0x76, 0x61, 0x72, 0x20, 0x61, 0x63, + 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, + 0x79, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x61, 0x69, 0x72, 0x63, 0x72, 0x61, 0x66, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x65, 0x64, 0x64, 0x6f, 0x6d, 0x65, 0x73, 0x74, 0x69, 0x63, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x73, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, + 0x68, 0x6f, 0x73, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x76, 0x65, 0x72, 0x74, 0x69, + 0x63, 0x61, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x61, 0x70, + 0x70, 0x72, 0x6f, 0x61, 0x63, 0x68, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, + 0x73, 0x6c, 0x6f, 0x67, 0x6f, 0x22, 0x3e, 0x3c, 0x61, 0x64, 0x61, 0x75, 0x67, + 0x68, 0x74, 0x65, 0x72, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x22, 0x20, 0x63, + 0x75, 0x6c, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, + 0x65, 0x73, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x61, 0x73, 0x73, + 0x65, 0x6d, 0x62, 0x6c, 0x79, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x66, 0x75, 0x6c, + 0x74, 0x65, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x66, 0x69, 0x6e, 0x69, 0x73, + 0x68, 0x65, 0x64, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x63, 0x72, + 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x63, 0x67, 0x69, 0x2d, 0x62, 0x69, 0x6e, + 0x2f, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x73, 0x72, 0x65, 0x71, 0x75, + 0x69, 0x72, 0x65, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x62, + 0x65, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x73, 0x61, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x69, 0x63, 0x65, 0x78, 0x65, + 0x72, 0x63, 0x69, 0x73, 0x65, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, + 0x6d, 0x65, 0x64, 0x69, 0x63, 0x69, 0x6e, 0x65, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x74, 0x61, 0x63, 0x63, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x4d, 0x61, + 0x67, 0x61, 0x7a, 0x69, 0x6e, 0x65, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x62, 0x6f, 0x74, 0x74, + 0x6f, 0x6d, 0x22, 0x3e, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x3a, + 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, + 0x65, 0x64, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x6f, 0x66, + 0x74, 0x77, 0x61, 0x72, 0x65, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, + 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x73, 0x6c, + 0x69, 0x67, 0x68, 0x74, 0x6c, 0x79, 0x70, 0x6c, 0x61, 0x6e, 0x6e, 0x69, 0x6e, + 0x67, 0x74, 0x65, 0x78, 0x74, 0x61, 0x72, 0x65, 0x61, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x79, 0x65, 0x76, 0x65, 0x72, 0x79, 0x6f, 0x6e, 0x65, 0x73, + 0x74, 0x72, 0x61, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x65, 0x64, 0x68, 0x65, 0x72, 0x69, 0x74, 0x61, 0x67, 0x65, + 0x73, 0x68, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x61, 0x62, 0x73, 0x6f, 0x6c, + 0x75, 0x74, 0x65, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x72, 0x65, + 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x74, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, + 0x20, 0x76, 0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x61, 0x6e, 0x79, 0x77, + 0x68, 0x65, 0x72, 0x65, 0x62, 0x65, 0x6e, 0x65, 0x66, 0x69, 0x74, 0x73, 0x6c, + 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x64, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x6c, 0x79, 0x61, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x66, 0x6f, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, + 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x64, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x64, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x24, 0x28, 0x74, 0x68, 0x69, 0x73, 0x29, + 0x2e, 0x72, 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x3e, 0x3c, 0x74, 0x72, + 0x3e, 0x3c, 0x74, 0x64, 0x63, 0x6f, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x72, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x64, 0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61, + 0x74, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x3c, 0x75, 0x6c, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x48, 0x6f, 0x6d, 0x65, 0x3c, 0x2f, 0x61, 0x3e, 0x77, 0x65, 0x62, 0x73, 0x69, + 0x74, 0x65, 0x73, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x61, 0x6c, + 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x72, 0x65, 0x6c, + 0x79, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x3e, 0x73, 0x6f, 0x6d, 0x65, 0x77, 0x68, + 0x61, 0x74, 0x76, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x57, 0x65, 0x73, + 0x74, 0x65, 0x72, 0x6e, 0x20, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3d, 0x22, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x76, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x44, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, + 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x3e, 0x0a, 0x6d, 0x65, 0x61, 0x73, + 0x75, 0x72, 0x65, 0x73, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x76, + 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76, + 0x65, 0x64, 0x76, 0x69, 0x72, 0x67, 0x69, 0x6e, 0x69, 0x61, 0x6e, 0x6f, 0x72, + 0x6d, 0x61, 0x6c, 0x6c, 0x79, 0x68, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x65, 0x64, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x73, 0x74, 0x61, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, + 0x64, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x61, 0x63, 0x63, 0x75, + 0x72, 0x61, 0x74, 0x65, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x73, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, + 0x61, 0x6c, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x63, 0x72, 0x69, + 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x79, + 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x61, 0x6c, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, + 0x64, 0x2e, 0x6a, 0x70, 0x67, 0x22, 0x20, 0x2f, 0x3e, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x73, 0x3c, 0x2f, 0x68, 0x32, 0x3e, 0x0a, 0x20, 0x20, 0x6b, + 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x6c, 0x79, 0x62, 0x72, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x6d, + 0x62, 0x69, 0x6e, 0x65, 0x64, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, + 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x65, 0x78, 0x70, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x61, 0x64, 0x65, 0x71, 0x75, 0x61, 0x74, 0x65, 0x70, 0x61, + 0x6b, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x22, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x62, 0x6c, 0x65, 0x3c, 0x2f, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x3e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x62, + 0x72, 0x69, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, + 0x73, 0x65, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x73, 0x2f, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x3e, 0x22, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x20, 0x28, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x67, 0x72, + 0x61, 0x64, 0x75, 0x61, 0x74, 0x65, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, + 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6c, 0x61, + 0x79, 0x73, 0x69, 0x61, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x6d, + 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x3b, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x3a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x62, 0x61, 0x63, 0x6b, 0x20, 0x74, 0x6f, 0x20, + 0x63, 0x61, 0x74, 0x68, 0x6f, 0x6c, 0x69, 0x63, 0x70, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x73, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x20, 0x23, 0x67, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x73, 0x74, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, + 0x73, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x3c, 0x2f, 0x75, 0x6c, + 0x3e, 0x0a, 0x09, 0x09, 0x3c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x20, 0x63, + 0x69, 0x74, 0x69, 0x7a, 0x65, 0x6e, 0x73, 0x63, 0x6c, 0x6f, 0x74, 0x68, 0x69, + 0x6e, 0x67, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x3c, 0x6c, 0x69, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x63, 0x61, 0x72, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x73, 0x65, 0x6e, 0x74, 0x65, + 0x6e, 0x63, 0x65, 0x3c, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x73, 0x74, 0x74, 0x68, 0x69, 0x6e, 0x6b, 0x69, 0x6e, + 0x67, 0x63, 0x61, 0x74, 0x63, 0x68, 0x28, 0x65, 0x29, 0x73, 0x6f, 0x75, 0x74, + 0x68, 0x65, 0x72, 0x6e, 0x4d, 0x69, 0x63, 0x68, 0x61, 0x65, 0x6c, 0x20, 0x6d, + 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x63, 0x61, 0x72, 0x6f, 0x75, 0x73, + 0x65, 0x6c, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x69, 0x6f, 0x72, 0x2e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x28, 0x22, + 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x63, 0x74, 0x6f, 0x62, + 0x65, 0x72, 0x20, 0x29, 0x7b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6d, + 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x2d, 0x2d, 0x26, 0x67, 0x74, 0x3b, 0x0a, + 0x0a, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x63, 0x68, 0x61, 0x69, + 0x72, 0x6d, 0x61, 0x6e, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x20, 0x2f, 0x3e, 0x73, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x69, 0x63, 0x68, 0x61, 0x72, + 0x64, 0x20, 0x77, 0x68, 0x61, 0x74, 0x65, 0x76, 0x65, 0x72, 0x70, 0x72, 0x6f, + 0x62, 0x61, 0x62, 0x6c, 0x79, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, + 0x62, 0x61, 0x73, 0x65, 0x62, 0x61, 0x6c, 0x6c, 0x6a, 0x75, 0x64, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x2e, 0x63, + 0x73, 0x73, 0x22, 0x20, 0x2f, 0x3e, 0x20, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, + 0x65, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x0d, 0x0a, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x72, 0x69, 0x63, 0x73, 0x63, 0x6f, 0x74, 0x6c, 0x61, + 0x6e, 0x64, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x71, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x20, 0x49, 0x53, 0x42, 0x4e, 0x20, 0x30, + 0x64, 0x69, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x2d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2d, 0x22, 0x20, + 0x6c, 0x61, 0x6e, 0x67, 0x3d, 0x22, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, + 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x73, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x6d, + 0x69, 0x6e, 0x69, 0x73, 0x74, 0x65, 0x72, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x74, 0x61, + 0x6c, 0x69, 0x61, 0x6e, 0x6f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x6c, 0x79, 0x3a, 0x20, 0x27, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x27, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x27, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x65, 0x64, 0x42, 0x72, 0x69, 0x74, + 0x69, 0x73, 0x68, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x46, + 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x6f, + 0x75, 0x73, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x63, 0x6f, 0x6e, + 0x63, 0x65, 0x72, 0x6e, 0x73, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x64, 0x69, 0x76, 0x20, 0x69, + 0x64, 0x3d, 0x22, 0x57, 0x69, 0x6c, 0x6c, 0x69, 0x61, 0x6d, 0x20, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x73, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x66, + 0x6c, 0x65, 0x78, 0x69, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x6c, 0x61, 0x77, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x3c, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x3e, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x3d, 0x22, + 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x78, 0x69, + 0x6d, 0x75, 0x6d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x3e, 0x3c, 0x2f, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x68, 0x61, 0x6d, 0x69, 0x6c, 0x74, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x74, 0x68, 0x65, 0x6d, 0x65, + 0x73, 0x2f, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x67, 0x61, 0x6c, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x22, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x77, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x64, 0x61, 0x67, 0x65, 0x6e, 0x63, 0x69, 0x65, + 0x73, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0x20, 0x6d, 0x65, 0x61, 0x73, + 0x75, 0x72, 0x65, 0x64, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x73, + 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x26, 0x68, 0x65, 0x6c, 0x6c, 0x69, + 0x70, 0x3b, 0x6e, 0x65, 0x77, 0x20, 0x44, 0x61, 0x74, 0x65, 0x22, 0x20, 0x73, + 0x69, 0x7a, 0x65, 0x3d, 0x22, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x22, 0x20, 0x22, 0x20, 0x2f, 0x3e, 0x3c, + 0x2f, 0x61, 0x3e, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x3e, 0x73, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, + 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x6f, 0x70, 0x69, 0x6e, + 0x69, 0x6f, 0x6e, 0x73, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x6f, 0x69, 0x73, 0x6c, + 0x69, 0x6e, 0x6b, 0x73, 0x22, 0x3e, 0x0a, 0x09, 0x3c, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x3e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x73, 0x61, 0x74, + 0x75, 0x72, 0x64, 0x61, 0x79, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x74, 0x65, 0x6d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x64, 0x65, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, + 0x6c, 0x3d, 0x22, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x22, 0x45, 0x73, 0x70, 0x61, + 0xc3, 0xb1, 0x6f, 0x6c, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x73, + 0x75, 0x62, 0x6d, 0x69, 0x74, 0x22, 0x20, 0x65, 0x72, 0x26, 0x71, 0x75, 0x6f, + 0x74, 0x3b, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x79, 0x6d, + 0x70, 0x74, 0x6f, 0x6d, 0x73, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x64, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x72, 0x69, 0x67, 0x68, 0x74, + 0x22, 0x3e, 0x3c, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x2e, 0x6c, 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x20, 0x62, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x3d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x3e, 0x2e, 0x0a, 0x0a, 0x53, 0x6f, 0x6d, + 0x65, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x73, 0x75, 0x69, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x62, 0x75, 0x6c, 0x67, 0x61, 0x72, 0x69, 0x61, + 0x2e, 0x73, 0x68, 0x6f, 0x77, 0x28, 0x29, 0x3b, 0x64, 0x65, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x63, 0x6f, + 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x73, 0x77, 0x69, 0x6c, 0x6c, 0x69, 0x61, 0x6d, 0x73, 0x4f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x61, 0x6c, 0x22, 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0x3e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x61, 0x20, 0x26, + 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, + 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x0a, 0x0a, 0x54, 0x68, 0x65, 0x20, 0x79, 0x6f, + 0x75, 0x72, 0x73, 0x65, 0x6c, 0x66, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, + 0x20, 0x6d, 0x69, 0x63, 0x68, 0x69, 0x67, 0x61, 0x6e, 0x45, 0x6e, 0x67, 0x6c, + 0x69, 0x73, 0x68, 0x20, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x62, 0x69, 0x61, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x69, + 0x6e, 0x67, 0x64, 0x72, 0x69, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x66, 0x61, 0x63, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x66, 0x69, 0x63, + 0x65, 0x72, 0x73, 0x52, 0x75, 0x73, 0x73, 0x69, 0x61, 0x6e, 0x20, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x2d, 0x38, 0x38, 0x35, 0x39, 0x2d, 0x31, + 0x22, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x66, 0x61, 0x6d, 0x69, + 0x6c, 0x69, 0x61, 0x72, 0x20, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x6d, + 0x61, 0x72, 0x67, 0x69, 0x6e, 0x3a, 0x30, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x76, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x63, 0x74, 0x73, 0x2d, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x3e, + 0x70, 0x6f, 0x72, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x6c, 0x65, 0x6e, 0x67, + 0x74, 0x68, 0x20, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x69, 0x6e, + 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x73, 0x61, 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x69, + 0x63, 0x6f, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x3d, 0x22, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x2e, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, + 0x72, 0x79, 0x0a, 0x0a, 0x41, 0x66, 0x74, 0x65, 0x72, 0x20, 0x67, 0x75, 0x69, + 0x64, 0x61, 0x6e, 0x63, 0x65, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x74, 0x64, + 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x6d, 0x69, 0x64, 0x64, 0x6c, + 0x65, 0x22, 0x3e, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x73, 0x73, 0x63, 0x6f, 0x74, 0x74, 0x69, 0x73, + 0x68, 0x6a, 0x6f, 0x6e, 0x61, 0x74, 0x68, 0x61, 0x6e, 0x6d, 0x61, 0x6a, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2e, 0x63, + 0x6c, 0x69, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x74, 0x68, 0x61, 0x69, 0x6c, 0x61, + 0x6e, 0x64, 0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x73, 0x3c, 0x68, 0x65, + 0x61, 0x64, 0x3e, 0x0a, 0x09, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x3b, 0x74, 0x6f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3c, 0x2f, + 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x3e, 0x6f, 0x6b, 0x6c, 0x61, 0x68, 0x6f, 0x6d, + 0x61, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x76, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x30, 0x22, 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x22, 0x68, + 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x79, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x64, 0x20, 0x28, 0x77, + 0x68, 0x69, 0x63, 0x68, 0x20, 0x2e, 0x20, 0x41, 0x66, 0x74, 0x65, 0x72, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x76, 0x69, 0x73, 0x69, 0x74, + 0x69, 0x6e, 0x67, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, + 0x20, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x22, 0x71, 0x75, 0x69, 0x63, + 0x6b, 0x6c, 0x79, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x65, + 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x3b, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x3b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23, 0x20, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x3d, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, + 0x2c, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x20, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x65, 0x64, 0x2e, 0x6d, 0x69, 0x6e, 0x2e, 0x6a, 0x73, 0x22, 0x6d, 0x61, + 0x67, 0x6e, 0x65, 0x74, 0x69, 0x63, 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, + 0x68, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x2e, 0x20, 0x57, 0x68, + 0x69, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x75, 0x72, 0x73, 0x64, 0x61, 0x79, 0x64, + 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x26, 0x65, 0x61, 0x63, 0x75, 0x74, + 0x65, 0x3b, 0x68, 0x61, 0x73, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x70, 0x61, 0x74, 0x69, 0x65, + 0x6e, 0x74, 0x73, 0x20, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x61, 0x64, 0x6f, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x22, 0x63, 0x61, 0x6d, 0x70, 0x62, 0x65, 0x6c, 0x6c, 0x3c, 0x21, 0x2d, 0x2d, + 0x20, 0x65, 0x6e, 0x64, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x3c, + 0x62, 0x72, 0x20, 0x2f, 0x3e, 0x0d, 0x0a, 0x5f, 0x70, 0x6f, 0x70, 0x75, 0x70, + 0x73, 0x7c, 0x73, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2c, 0x26, 0x71, + 0x75, 0x6f, 0x74, 0x3b, 0x20, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x20, + 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20, 0x3c, 0x62, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6c, 0x65, 0x26, 0x71, 0x75, 0x6f, 0x74, + 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x20, 0x43, 0x6f, 0x6d, + 0x70, 0x61, 0x6e, 0x79, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x3c, + 0x69, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x20, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, + 0x65, 0x73, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x73, 0x6d, 0x61, 0x72, + 0x73, 0x68, 0x61, 0x6c, 0x6c, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x6c, 0x79, 0x29, 0x2e, 0x0a, 0x0a, 0x54, + 0x68, 0x65, 0x20, 0x74, 0x61, 0x78, 0x6f, 0x6e, 0x6f, 0x6d, 0x79, 0x6d, 0x75, + 0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, + 0x0a, 0x22, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x73, 0x72, 0x74, 0x75, 0x67, + 0x75, 0xc3, 0xaa, 0x73, 0x73, 0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x54, 0x6f, 0x20, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, + 0x0d, 0x0a, 0x61, 0x74, 0x74, 0x6f, 0x72, 0x6e, 0x65, 0x79, 0x65, 0x6d, 0x70, + 0x68, 0x61, 0x73, 0x69, 0x73, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x6f, 0x72, 0x73, + 0x66, 0x61, 0x6e, 0x63, 0x79, 0x62, 0x6f, 0x78, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x27, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x64, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x65, 0x64, 0x3d, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x70, 0x78, 0x3b, 0x66, + 0x6f, 0x6e, 0x74, 0x2d, 0x20, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x6a, + 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x73, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, + 0x65, 0x64, 0x76, 0x61, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x6f, + 0x6d, 0x70, 0x73, 0x6f, 0x6e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, + 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x61, 0x6c, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, 0x30, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x3c, 0x2f, 0x74, 0x62, 0x6f, 0x64, 0x79, + 0x3e, 0x3c, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x66, 0x69, 0x78, 0x0a, + 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, + 0x65, 0x20, 0x3c, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x69, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x73, 0x72, 0x6f, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x20, + 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x20, 0x4f, 0x63, 0x74, 0x6f, + 0x62, 0x65, 0x72, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x20, 0x65, 0x78, + 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x20, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x64, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x20, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x20, 0x20, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x6f, 0x6e, 0x53, 0x75, 0x62, + 0x6d, 0x69, 0x74, 0x6d, 0x61, 0x72, 0x79, 0x6c, 0x61, 0x6e, 0x64, 0x63, 0x6f, + 0x6c, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x63, 0x74, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x61, + 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x73, 0x69, 0x62, 0x6c, 0x69, 0x6e, + 0x67, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x73, 0x26, 0x71, + 0x75, 0x6f, 0x74, 0x3b, 0x29, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, + 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x62, 0x6f, 0x78, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x73, 0x70, 0x72, + 0x65, 0x67, 0x6e, 0x61, 0x6e, 0x74, 0x74, 0x6f, 0x6d, 0x6f, 0x72, 0x72, 0x6f, + 0x77, 0x73, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x69, 0x63, 0x6f, 0x6e, + 0x2e, 0x70, 0x6e, 0x67, 0x6a, 0x61, 0x70, 0x61, 0x6e, 0x65, 0x73, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x62, 0x61, 0x73, 0x65, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, + 0x22, 0x3e, 0x67, 0x61, 0x6d, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x75, 0x63, + 0x68, 0x20, 0x61, 0x73, 0x20, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, + 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x20, 0x6d, 0x69, 0x73, 0x73, 0x6f, + 0x75, 0x72, 0x69, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x74, 0x6f, + 0x70, 0x3a, 0x31, 0x70, 0x78, 0x20, 0x2e, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, + 0x3e, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x77, 0x69, 0x64, 0x74, + 0x68, 0x3d, 0x22, 0x32, 0x6c, 0x61, 0x7a, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x6e, + 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, + 0x6e, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x22, 0x3e, 0x0a, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c, 0x2f, + 0x3c, 0x74, 0x72, 0x3e, 0x3c, 0x74, 0x64, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x3a, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x72, 0x79, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x20, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x22, 0x20, 0x26, 0x6c, 0x74, 0x3b, + 0x21, 0x2d, 0x2d, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x3e, 0x3c, 0x2f, + 0x6a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x3c, 0x2f, 0x66, 0x6f, 0x72, 0x6d, + 0x3e, 0x0a, 0x28, 0xe7, 0xae, 0x80, 0xe4, 0xbd, 0x93, 0x29, 0x28, 0xe7, 0xb9, + 0x81, 0xe9, 0xab, 0x94, 0x29, 0x68, 0x72, 0x76, 0x61, 0x74, 0x73, 0x6b, 0x69, + 0x69, 0x74, 0x61, 0x6c, 0x69, 0x61, 0x6e, 0x6f, 0x72, 0x6f, 0x6d, 0xc3, 0xa2, + 0x6e, 0xc4, 0x83, 0x74, 0xc3, 0xbc, 0x72, 0x6b, 0xc3, 0xa7, 0x65, 0xd8, 0xa7, + 0xd8, 0xb1, 0xd8, 0xaf, 0xd9, 0x88, 0x74, 0x61, 0x6d, 0x62, 0x69, 0xc3, 0xa9, + 0x6e, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x69, 0x61, 0x73, 0x6d, 0x65, 0x6e, 0x73, + 0x61, 0x6a, 0x65, 0x73, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x73, 0x64, + 0x65, 0x72, 0x65, 0x63, 0x68, 0x6f, 0x73, 0x6e, 0x61, 0x63, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x69, 0x6f, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x63, 0x74, 0x6f, 0x75, 0x73, 0x75, 0x61, 0x72, 0x69, 0x6f, 0x73, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x61, 0x67, 0x6f, 0x62, 0x69, 0x65, + 0x72, 0x6e, 0x6f, 0x65, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x61, 0x73, 0x61, 0x6e, + 0x75, 0x6e, 0x63, 0x69, 0x6f, 0x73, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x69, + 0x61, 0x63, 0x6f, 0x6c, 0x6f, 0x6d, 0x62, 0x69, 0x61, 0x64, 0x65, 0x73, 0x70, + 0x75, 0xc3, 0xa9, 0x73, 0x64, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x73, 0x70, + 0x72, 0x6f, 0x79, 0x65, 0x63, 0x74, 0x6f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x6f, 0x70, 0xc3, 0xba, 0x62, 0x6c, 0x69, 0x63, 0x6f, 0x6e, 0x6f, 0x73, + 0x6f, 0x74, 0x72, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x61, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6d, 0x69, 0x6c, 0x6c, 0x6f, + 0x6e, 0x65, 0x73, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x65, 0x70, 0x72, + 0x65, 0x67, 0x75, 0x6e, 0x74, 0x61, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6f, + 0x72, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x73, 0x70, 0x72, 0x6f, 0x62, + 0x6c, 0x65, 0x6d, 0x61, 0x73, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x67, 0x6f, 0x6e, + 0x75, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x73, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0xc3, + 0xb3, 0x6e, 0x69, 0x6d, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x72, 0x6d, 0x69, 0x65, + 0x6e, 0x74, 0x72, 0x61, 0x73, 0x61, 0x6d, 0xc3, 0xa9, 0x72, 0x69, 0x63, 0x61, + 0x76, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x6f, 0x72, 0x73, 0x6f, 0x63, 0x69, 0x65, + 0x64, 0x61, 0x64, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x65, + 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x72, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x6f, 0x70, 0x61, 0x6c, 0x61, 0x62, 0x72, 0x61, 0x73, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0xc3, 0xa9, 0x73, 0x65, 0x6e, 0x74, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x65, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x6d, 0x69, 0x65, 0x6d, 0x62, 0x72, + 0x6f, 0x73, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x64, 0x63, 0xc3, 0xb3, + 0x72, 0x64, 0x6f, 0x62, 0x61, 0x7a, 0x61, 0x72, 0x61, 0x67, 0x6f, 0x7a, 0x61, + 0x70, 0xc3, 0xa1, 0x67, 0x69, 0x6e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x6c, 0x65, 0x73, 0x62, 0x6c, 0x6f, 0x71, 0x75, 0x65, 0x61, 0x72, 0x67, 0x65, + 0x73, 0x74, 0x69, 0xc3, 0xb3, 0x6e, 0x61, 0x6c, 0x71, 0x75, 0x69, 0x6c, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6d, 0x61, 0x73, 0x63, 0x69, 0x65, 0x6e, + 0x63, 0x69, 0x61, 0x73, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x6f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x61, 0x65, 0x73, 0x74, 0x75, 0x64, 0x69, 0x6f, 0x73, 0x70, 0xc3, 0xba, + 0x62, 0x6c, 0x69, 0x63, 0x61, 0x6f, 0x62, 0x6a, 0x65, 0x74, 0x69, 0x76, 0x6f, + 0x61, 0x6c, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x65, 0x62, 0x75, 0x73, 0x63, 0x61, + 0x64, 0x6f, 0x72, 0x63, 0x61, 0x6e, 0x74, 0x69, 0x64, 0x61, 0x64, 0x65, 0x6e, + 0x74, 0x72, 0x61, 0x64, 0x61, 0x73, 0x61, 0x63, 0x63, 0x69, 0x6f, 0x6e, 0x65, + 0x73, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x6f, 0x73, 0x73, 0x75, 0x70, 0x65, + 0x72, 0x69, 0x6f, 0x72, 0x6d, 0x61, 0x79, 0x6f, 0x72, 0xc3, 0xad, 0x61, 0x61, + 0x6c, 0x65, 0x6d, 0x61, 0x6e, 0x69, 0x61, 0x66, 0x75, 0x6e, 0x63, 0x69, 0xc3, + 0xb3, 0x6e, 0xc3, 0xba, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x73, 0x68, 0x61, 0x63, + 0x69, 0x65, 0x6e, 0x64, 0x6f, 0x61, 0x71, 0x75, 0x65, 0x6c, 0x6c, 0x6f, 0x73, + 0x65, 0x64, 0x69, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x66, 0x65, 0x72, 0x6e, 0x61, + 0x6e, 0x64, 0x6f, 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x66, 0x61, + 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x6e, 0x75, 0x65, 0x73, 0x74, 0x72, 0x61, + 0x73, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x73, 0x70, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x6f, 0x73, 0x62, 0x61, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x65, 0x70, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x61, 0x72, 0x63, 0x6f, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x6f, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x61, 0x72, 0x63, 0x6f, 0x6d, 0x65, 0x72, 0x63, 0x69, 0x6f, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x6a, 0xc3, 0xb3, 0x76, 0x65, + 0x6e, 0x65, 0x73, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x74, 0x6f, 0x74, 0xc3, + 0xa9, 0x63, 0x6e, 0x69, 0x63, 0x61, 0x63, 0x6f, 0x6e, 0x6a, 0x75, 0x6e, 0x74, + 0x6f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0xc3, 0xad, 0x61, 0x74, 0x72, 0x61, 0x62, + 0x61, 0x6a, 0x61, 0x72, 0x61, 0x73, 0x74, 0x75, 0x72, 0x69, 0x61, 0x73, 0x72, + 0x65, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, + 0x61, 0x72, 0x62, 0x6f, 0x6c, 0x65, 0x74, 0xc3, 0xad, 0x6e, 0x73, 0x61, 0x6c, + 0x76, 0x61, 0x64, 0x6f, 0x72, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x61, + 0x74, 0x72, 0x61, 0x62, 0x61, 0x6a, 0x6f, 0x73, 0x70, 0x72, 0x69, 0x6d, 0x65, + 0x72, 0x6f, 0x73, 0x6e, 0x65, 0x67, 0x6f, 0x63, 0x69, 0x6f, 0x73, 0x6c, 0x69, + 0x62, 0x65, 0x72, 0x74, 0x61, 0x64, 0x64, 0x65, 0x74, 0x61, 0x6c, 0x6c, 0x65, + 0x73, 0x70, 0x61, 0x6e, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x70, 0x72, 0xc3, 0xb3, + 0x78, 0x69, 0x6d, 0x6f, 0x61, 0x6c, 0x6d, 0x65, 0x72, 0xc3, 0xad, 0x61, 0x61, + 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x65, 0x73, 0x71, 0x75, 0x69, 0xc3, 0xa9, 0x6e, + 0x65, 0x73, 0x63, 0x6f, 0x72, 0x61, 0x7a, 0xc3, 0xb3, 0x6e, 0x73, 0x65, 0x63, + 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x62, 0x75, 0x73, 0x63, 0x61, 0x6e, 0x64, 0x6f, + 0x6f, 0x70, 0x63, 0x69, 0x6f, 0x6e, 0x65, 0x73, 0x65, 0x78, 0x74, 0x65, 0x72, + 0x69, 0x6f, 0x72, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x6f, 0x74, 0x6f, + 0x64, 0x61, 0x76, 0xc3, 0xad, 0x61, 0x67, 0x61, 0x6c, 0x65, 0x72, 0xc3, 0xad, + 0x61, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x69, + 0x63, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x63, 0x69, 0x61, 0x63, + 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x74, 0x61, 0x61, 0x73, 0x70, 0x65, 0x63, 0x74, + 0x6f, 0x73, 0x63, 0x72, 0xc3, 0xad, 0x74, 0x69, 0x63, 0x61, 0x64, 0xc3, 0xb3, + 0x6c, 0x61, 0x72, 0x65, 0x73, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x63, 0x69, 0x61, + 0x64, 0x65, 0x62, 0x65, 0x72, 0xc3, 0xa1, 0x6e, 0x70, 0x65, 0x72, 0xc3, 0xad, + 0x6f, 0x64, 0x6f, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x69, 0x74, 0x61, 0x6d, 0x61, + 0x6e, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x70, 0x65, 0x71, 0x75, 0x65, 0xc3, 0xb1, + 0x6f, 0x72, 0x65, 0x63, 0x69, 0x62, 0x69, 0x64, 0x61, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x6e, 0x61, 0x6c, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x66, 0x65, 0x63, + 0x61, 0x6e, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x69, + 0x61, 0x73, 0x64, 0x65, 0x73, 0x63, 0x61, 0x72, 0x67, 0x61, 0x64, 0x69, 0x76, + 0x65, 0x72, 0x73, 0x6f, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x63, 0x61, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x65, 0x72, 0x65, 0x74, 0xc3, 0xa9, 0x63, 0x6e, + 0x69, 0x63, 0x6f, 0x64, 0x65, 0x62, 0x65, 0x72, 0xc3, 0xad, 0x61, 0x76, 0x69, + 0x76, 0x69, 0x65, 0x6e, 0x64, 0x61, 0x66, 0x69, 0x6e, 0x61, 0x6e, 0x7a, 0x61, + 0x73, 0x61, 0x64, 0x65, 0x6c, 0x61, 0x6e, 0x74, 0x65, 0x66, 0x75, 0x6e, 0x63, + 0x69, 0x6f, 0x6e, 0x61, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6a, 0x6f, 0x73, 0x64, + 0x69, 0x66, 0xc3, 0xad, 0x63, 0x69, 0x6c, 0x63, 0x69, 0x75, 0x64, 0x61, 0x64, + 0x65, 0x73, 0x61, 0x6e, 0x74, 0x69, 0x67, 0x75, 0x61, 0x73, 0x61, 0x76, 0x61, + 0x6e, 0x7a, 0x61, 0x64, 0x61, 0x74, 0xc3, 0xa9, 0x72, 0x6d, 0x69, 0x6e, 0x6f, + 0x75, 0x6e, 0x69, 0x64, 0x61, 0x64, 0x65, 0x73, 0x73, 0xc3, 0xa1, 0x6e, 0x63, + 0x68, 0x65, 0x7a, 0x63, 0x61, 0x6d, 0x70, 0x61, 0xc3, 0xb1, 0x61, 0x73, 0x6f, + 0x66, 0x74, 0x6f, 0x6e, 0x69, 0x63, 0x72, 0x65, 0x76, 0x69, 0x73, 0x74, 0x61, + 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x65, 0x73, 0x6d, 0x6f, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x73, 0x66, + 0x61, 0x63, 0x75, 0x6c, 0x74, 0x61, 0x64, 0x63, 0x72, 0xc3, 0xa9, 0x64, 0x69, + 0x74, 0x6f, 0x64, 0x69, 0x76, 0x65, 0x72, 0x73, 0x61, 0x73, 0x73, 0x75, 0x70, + 0x75, 0x65, 0x73, 0x74, 0x6f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x67, 0x75, 0x6e, 0x64, 0x6f, 0x73, 0x70, 0x65, 0x71, 0x75, 0x65, + 0xc3, 0xb1, 0x61, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb0, 0xd0, 0xb5, + 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xb8, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x82, 0xd1, + 0x8c, 0xd0, 0xb1, 0xd1, 0x8b, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, 0xb1, 0xd1, 0x8b, + 0xd1, 0x82, 0xd1, 0x8c, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, + 0x95, 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb3, + 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x8f, 0xd0, 0xb2, 0xd1, + 0x81, 0xd0, 0xb5, 0xd1, 0x85, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb9, + 0xd0, 0xb4, 0xd0, 0xb0, 0xd0, 0xb6, 0xd0, 0xb5, 0xd0, 0xb1, 0xd1, 0x8b, 0xd0, + 0xbb, 0xd0, 0xb8, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xb4, 0xd1, 0x83, 0xd0, 0xb4, + 0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x8c, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, + 0x82, 0xd0, 0xb1, 0xd1, 0x8b, 0xd0, 0xbb, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xb5, + 0xd0, 0xb1, 0xd1, 0x8f, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1, + 0x81, 0xd0, 0xb5, 0xd0, 0xb1, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xb4, + 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xb0, 0xd0, 0xb9, 0xd1, 0x82, 0xd1, 0x84, 0xd0, + 0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xbe, + 0xd1, 0x81, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xb2, 0xd0, + 0xbe, 0xd0, 0xb9, 0xd0, 0xb8, 0xd0, 0xb3, 0xd1, 0x80, 0xd1, 0x8b, 0xd1, 0x82, + 0xd0, 0xbe, 0xd0, 0xb6, 0xd0, 0xb5, 0xd0, 0xb2, 0xd1, 0x81, 0xd0, 0xb5, 0xd0, + 0xbc, 0xd1, 0x81, 0xd0, 0xb2, 0xd0, 0xbe, 0xd1, 0x8e, 0xd0, 0xbb, 0xd0, 0xb8, + 0xd1, 0x88, 0xd1, 0x8c, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xb8, 0xd1, 0x85, 0xd0, + 0xbf, 0xd0, 0xbe, 0xd0, 0xba, 0xd0, 0xb0, 0xd0, 0xb4, 0xd0, 0xbd, 0xd0, 0xb5, + 0xd0, 0xb9, 0xd0, 0xb4, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xb0, 0xd0, 0xbc, 0xd0, + 0xb8, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbb, 0xd0, 0xb8, 0xd0, 0xb1, 0xd0, 0xbe, + 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbc, 0xd1, 0x83, 0xd1, 0x85, 0xd0, 0xbe, 0xd1, + 0x82, 0xd1, 0x8f, 0xd0, 0xb4, 0xd0, 0xb2, 0xd1, 0x83, 0xd1, 0x85, 0xd1, 0x81, + 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xbb, 0xd1, 0x8e, 0xd0, 0xb4, 0xd0, + 0xb8, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xb8, + 0xd1, 0x80, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xb1, 0xd1, 0x8f, 0xd1, + 0x81, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xb2, 0xd0, 0xb8, 0xd0, 0xb4, + 0xd0, 0xb5, 0xd1, 0x87, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xbe, 0xd1, 0x8d, 0xd1, + 0x82, 0xd0, 0xb8, 0xd0, 0xbc, 0xd1, 0x81, 0xd1, 0x87, 0xd0, 0xb5, 0xd1, 0x82, + 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbc, 0xd1, 0x8b, 0xd1, 0x86, 0xd0, 0xb5, 0xd0, + 0xbd, 0xd1, 0x8b, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xbb, 0xd0, 0xb2, + 0xd0, 0xb5, 0xd0, 0xb4, 0xd1, 0x8c, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, + 0xb5, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb4, 0xd1, 0x8b, 0xd1, 0x82, 0xd0, 0xb5, + 0xd0, 0xb1, 0xd0, 0xb5, 0xd0, 0xb2, 0xd1, 0x8b, 0xd1, 0x88, 0xd0, 0xb5, 0xd0, + 0xbd, 0xd0, 0xb0, 0xd0, 0xbc, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xbf, + 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xbc, 0xd1, 0x83, 0xd0, 0xbf, 0xd1, + 0x80, 0xd0, 0xb0, 0xd0, 0xb2, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x86, 0xd0, 0xb0, + 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, + 0xb4, 0xd1, 0x8b, 0xd0, 0xb7, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x8e, 0xd0, 0xbc, + 0xd0, 0xbe, 0xd0, 0xb3, 0xd1, 0x83, 0xd0, 0xb4, 0xd1, 0x80, 0xd1, 0x83, 0xd0, + 0xb3, 0xd0, 0xb2, 0xd1, 0x81, 0xd0, 0xb5, 0xd0, 0xb9, 0xd0, 0xb8, 0xd0, 0xb4, + 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xba, 0xd0, 0xb8, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, + 0xbe, 0xd0, 0xb4, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, + 0xd0, 0xb0, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, + 0x80, 0xd0, 0xbe, 0xd0, 0xba, 0xd0, 0xb8, 0xd1, 0x8e, 0xd0, 0xbd, 0xd1, 0x8f, + 0xd0, 0xb2, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x8c, 0xd0, 0x95, 0xd1, 0x81, 0xd1, + 0x82, 0xd1, 0x8c, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb7, 0xd0, 0xb0, 0xd0, 0xbd, + 0xd0, 0xb0, 0xd1, 0x88, 0xd0, 0xb8, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x84, 0xd9, + 0x87, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xaa, 0xd9, 0x8a, 0xd8, 0xac, 0xd9, 0x85, + 0xd9, 0x8a, 0xd8, 0xb9, 0xd8, 0xae, 0xd8, 0xa7, 0xd8, 0xb5, 0xd8, 0xa9, 0xd8, + 0xa7, 0xd9, 0x84, 0xd8, 0xb0, 0xd9, 0x8a, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x8a, + 0xd9, 0x87, 0xd8, 0xac, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xa2, 0xd9, 0x86, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, 0xaf, + 0xd8, 0xaa, 0xd8, 0xad, 0xd9, 0x83, 0xd9, 0x85, 0xd8, 0xb5, 0xd9, 0x81, 0xd8, + 0xad, 0xd8, 0xa9, 0xd9, 0x83, 0xd8, 0xa7, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xa7, + 0xd9, 0x84, 0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x8a, 0xd9, 0x83, 0xd9, 0x88, 0xd9, + 0x86, 0xd8, 0xb4, 0xd8, 0xa8, 0xd9, 0x83, 0xd8, 0xa9, 0xd9, 0x81, 0xd9, 0x8a, + 0xd9, 0x87, 0xd8, 0xa7, 0xd8, 0xa8, 0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, + 0xad, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, 0xa1, 0xd8, 0xa3, 0xd9, 0x83, 0xd8, 0xab, + 0xd8, 0xb1, 0xd8, 0xae, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xad, 0xd8, 0xa8, 0xd8, 0xaf, 0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x84, + 0xd8, 0xaf, 0xd8, 0xb1, 0xd9, 0x88, 0xd8, 0xb3, 0xd8, 0xa7, 0xd8, 0xb6, 0xd8, + 0xba, 0xd8, 0xb7, 0xd8, 0xaa, 0xd9, 0x83, 0xd9, 0x88, 0xd9, 0x86, 0xd9, 0x87, + 0xd9, 0x86, 0xd8, 0xa7, 0xd9, 0x83, 0xd8, 0xb3, 0xd8, 0xa7, 0xd8, 0xad, 0xd8, + 0xa9, 0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x84, + 0xd8, 0xb7, 0xd8, 0xa8, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x83, 0xd8, + 0xb4, 0xd9, 0x83, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x8a, 0xd9, 0x85, 0xd9, 0x83, + 0xd9, 0x86, 0xd9, 0x85, 0xd9, 0x86, 0xd9, 0x87, 0xd8, 0xa7, 0xd8, 0xb4, 0xd8, + 0xb1, 0xd9, 0x83, 0xd8, 0xa9, 0xd8, 0xb1, 0xd8, 0xa6, 0xd9, 0x8a, 0xd8, 0xb3, + 0xd9, 0x86, 0xd8, 0xb4, 0xd9, 0x8a, 0xd8, 0xb7, 0xd9, 0x85, 0xd8, 0xa7, 0xd8, + 0xb0, 0xd8, 0xa7, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x81, 0xd9, 0x86, 0xd8, 0xb4, + 0xd8, 0xa8, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xaa, 0xd8, 0xb9, 0xd8, 0xa8, 0xd8, + 0xb1, 0xd8, 0xb1, 0xd8, 0xad, 0xd9, 0x85, 0xd8, 0xa9, 0xd9, 0x83, 0xd8, 0xa7, + 0xd9, 0x81, 0xd8, 0xa9, 0xd9, 0x8a, 0xd9, 0x82, 0xd9, 0x88, 0xd9, 0x84, 0xd9, + 0x85, 0xd8, 0xb1, 0xd9, 0x83, 0xd8, 0xb2, 0xd9, 0x83, 0xd9, 0x84, 0xd9, 0x85, + 0xd8, 0xa9, 0xd8, 0xa3, 0xd8, 0xad, 0xd9, 0x85, 0xd8, 0xaf, 0xd9, 0x82, 0xd9, + 0x84, 0xd8, 0xa8, 0xd9, 0x8a, 0xd9, 0x8a, 0xd8, 0xb9, 0xd9, 0x86, 0xd9, 0x8a, + 0xd8, 0xb5, 0xd9, 0x88, 0xd8, 0xb1, 0xd8, 0xa9, 0xd8, 0xb7, 0xd8, 0xb1, 0xd9, + 0x8a, 0xd9, 0x82, 0xd8, 0xb4, 0xd8, 0xa7, 0xd8, 0xb1, 0xd9, 0x83, 0xd8, 0xac, + 0xd9, 0x88, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd8, 0xae, 0xd8, 0xb1, 0xd9, + 0x89, 0xd9, 0x85, 0xd8, 0xb9, 0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xa7, 0xd8, 0xa8, + 0xd8, 0xad, 0xd8, 0xab, 0xd8, 0xb9, 0xd8, 0xb1, 0xd9, 0x88, 0xd8, 0xb6, 0xd8, + 0xa8, 0xd8, 0xb4, 0xd9, 0x83, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb3, 0xd8, 0xac, + 0xd9, 0x84, 0xd8, 0xa8, 0xd9, 0x86, 0xd8, 0xa7, 0xd9, 0x86, 0xd8, 0xae, 0xd8, + 0xa7, 0xd9, 0x84, 0xd8, 0xaf, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, 0xa7, 0xd8, 0xa8, + 0xd9, 0x83, 0xd9, 0x84, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa8, 0xd8, 0xaf, 0xd9, + 0x88, 0xd9, 0x86, 0xd8, 0xa3, 0xd9, 0x8a, 0xd8, 0xb6, 0xd8, 0xa7, 0xd9, 0x8a, + 0xd9, 0x88, 0xd8, 0xac, 0xd8, 0xaf, 0xd9, 0x81, 0xd8, 0xb1, 0xd9, 0x8a, 0xd9, + 0x82, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, 0xa8, 0xd8, 0xaa, 0xd8, 0xa3, 0xd9, 0x81, + 0xd8, 0xb6, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb7, 0xd8, 0xa8, 0xd8, 0xae, 0xd8, + 0xa7, 0xd9, 0x83, 0xd8, 0xab, 0xd8, 0xb1, 0xd8, 0xa8, 0xd8, 0xa7, 0xd8, 0xb1, + 0xd9, 0x83, 0xd8, 0xa7, 0xd9, 0x81, 0xd8, 0xb6, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, + 0xad, 0xd9, 0x84, 0xd9, 0x89, 0xd9, 0x86, 0xd9, 0x81, 0xd8, 0xb3, 0xd9, 0x87, + 0xd8, 0xa3, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xb1, 0xd8, 0xaf, 0xd9, + 0x88, 0xd8, 0xaf, 0xd8, 0xa3, 0xd9, 0x86, 0xd9, 0x87, 0xd8, 0xa7, 0xd8, 0xaf, + 0xd9, 0x8a, 0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, + 0x86, 0xd9, 0x85, 0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xb6, 0xd8, 0xaa, 0xd8, 0xb9, + 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xaf, 0xd8, 0xa7, 0xd8, 0xae, 0xd9, 0x84, 0xd9, + 0x85, 0xd9, 0x85, 0xd9, 0x83, 0xd9, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x07, 0x06, 0x05, 0x04, 0x03, + 0x02, 0x01, 0x00, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x0f, 0x0e, + 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, + 0x17, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11, 0x10, 0x18, 0x19, 0x1a, 0x1b, + 0x1c, 0x1d, 0x1e, 0x1f, 0x1f, 0x1e, 0x1d, 0x1c, 0x1b, 0x1a, 0x19, 0x18, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, + 0x07, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x65, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x63, 0x6f, + 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x44, + 0x54, 0x44, 0x2f, 0x78, 0x68, 0x74, 0x6d, 0x6c, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x69, 0x6e, 0x67, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, + 0x73, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x61, 0x64, 0x76, + 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, + 0x65, 0x72, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x3c, 0x2f, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x3e, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, + 0x6c, 0x69, 0x61, 0x22, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x73, + 0x69, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, + 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x69, 0x6c, 0x79, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x64, 0x61, 0x6e, 0x6f, + 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x65, 0x73, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x75, 0x72, 0x65, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, + 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3d, 0x22, 0x70, 0x6f, 0x74, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x65, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x73, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x61, 0x72, 0x79, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, + 0x74, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x3c, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x0d, 0x0a, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x69, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x79, 0x7d, + 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x73, 0x6f, 0x6c, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x73, 0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x6f, 0x75, + 0x73, 0x73, 0x61, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x74, 0x65, 0x64, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x65, 0x72, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x74, 0x79, 0x70, 0x65, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, + 0x6e, 0x63, 0x65, 0x26, 0x72, 0x61, 0x71, 0x75, 0x6f, 0x3b, 0x3c, 0x2f, 0x65, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x6c, 0x6c, 0x79, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x62, 0x65, 0x61, 0x75, 0x74, 0x69, 0x66, 0x75, 0x6c, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x70, 0x6f, 0x72, 0x74, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x65, + 0x64, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x70, 0x72, 0x6f, + 0x6d, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x20, 0x74, + 0x68, 0x65, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x4e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x2e, 0x66, 0x6f, 0x63, 0x75, 0x73, + 0x28, 0x29, 0x3b, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, + 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6e, 0x6e, 0x6f, 0x75, + 0x6e, 0x63, 0x65, 0x64, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x22, 0x3e, 0x0a, + 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x6c, 0x65, 0x73, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x65, 0x78, 0x70, 0x65, 0x6e, 0x73, 0x69, 0x76, + 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x72, 0x61, + 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x74, 0x65, 0x72, 0x72, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4e, + 0x61, 0x6d, 0x65, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x69, 0x73, 0x6d, 0x74, + 0x72, 0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x6c, 0x73, 0x65, 0x77, + 0x68, 0x65, 0x72, 0x65, 0x41, 0x6c, 0x65, 0x78, 0x61, 0x6e, 0x64, 0x65, 0x72, + 0x61, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x64, 0x6d, 0x61, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x6c, 0x73, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x61, 0x66, 0x66, + 0x69, 0x6c, 0x69, 0x61, 0x74, 0x65, 0x3c, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x3e, 0x74, 0x72, 0x65, 0x61, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x64, 0x69, + 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x2f, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x6f, + 0x6e, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x3d, 0x22, 0x62, 0x69, 0x6f, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x79, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69, 0x73, 0x65, + 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x6e, + 0xc3, 0xa7, 0x61, 0x69, 0x73, 0x48, 0x6f, 0x6c, 0x6c, 0x79, 0x77, 0x6f, 0x6f, + 0x64, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x64, 0x61, 0x72, 0x64, 0x73, 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, + 0x3e, 0x0a, 0x72, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, + 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x72, 0x65, 0x64, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x6f, + 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x75, 0x73, 0x69, 0x6e, + 0x65, 0x73, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, + 0x3e, 0x0a, 0x3c, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x70, 0x72, 0x65, 0x73, + 0x65, 0x6e, 0x74, 0x65, 0x64, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x65, + 0x64, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x77, 0x6f, 0x72, + 0x6c, 0x64, 0x77, 0x69, 0x64, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x6e, 0x65, + 0x77, 0x73, 0x70, 0x61, 0x70, 0x65, 0x72, 0x3c, 0x2f, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x3e, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x6c, + 0x69, 0x6b, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x73, 0x73, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x66, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x69, 0x61, 0x6c, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x3d, 0x22, 0x2f, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65, + 0x64, 0x45, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x61, 0x72, + 0x73, 0x65, 0x49, 0x6e, 0x74, 0x28, 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x75, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x3c, 0x2f, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x65, + 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x65, 0x72, 0x66, 0x6f, + 0x72, 0x6d, 0x65, 0x64, 0x74, 0x77, 0x6f, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, + 0x53, 0x69, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, + 0x65, 0x66, 0x6f, 0x72, 0x65, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x22, + 0x3e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x69, 0x6e, 0x63, + 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x20, + 0x6f, 0x66, 0x70, 0x65, 0x72, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x74, 0x72, + 0x79, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, + 0x61, 0x72, 0x79, 0x70, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x79, 0x65, 0x64, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6c, 0x69, 0x7a, 0x61, + 0x62, 0x65, 0x74, 0x68, 0x3c, 0x2f, 0x69, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x3e, + 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x69, 0x6e, 0x73, 0x75, + 0x72, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x3b, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x47, 0x65, 0x6f, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x79, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x73, 0x6f, + 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x65, 0x64, 0x3c, + 0x2f, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x3e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, + 0x6e, 0x69, 0x74, 0x79, 0x72, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x6f, 0x75, 0x73, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, + 0x73, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x6e, 0x6f, 0x20, + 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x6e, 0x69, + 0x6e, 0x67, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x63, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x63, 0x79, 0x74, 0x79, 0x70, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x69, + 0x6e, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x3b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, + 0x70, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x71, 0x75, + 0x65, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x69, 0x74, 0x20, + 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x63, 0x65, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x69, 0x6e, 0x65, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, + 0x6f, 0x6e, 0x65, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x70, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x73, 0x61, 0x64, 0x76, 0x61, 0x6e, + 0x74, 0x61, 0x67, 0x65, 0x29, 0x3b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x46, 0x6f, 0x72, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x6d, 0x6f, 0x63, 0x72, 0x61, 0x63, + 0x79, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x73, 0x75, 0x66, 0x66, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x73, + 0x61, 0x69, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x74, 0x20, 0x6d, 0x61, + 0x79, 0x20, 0x62, 0x65, 0x45, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x3c, 0x2f, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x64, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x73, 0x3c, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x3e, 0x0a, 0x73, 0x75, 0x73, + 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x3a, + 0x20, 0x30, 0x73, 0x70, 0x69, 0x72, 0x69, 0x74, 0x75, 0x61, 0x6c, 0x3c, 0x2f, + 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x0a, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, + 0x6f, 0x66, 0x74, 0x67, 0x72, 0x61, 0x64, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x64, + 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x65, 0x64, 0x68, 0x65, 0x20, 0x62, 0x65, + 0x63, 0x61, 0x6d, 0x65, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, + 0x6a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6a, 0x73, 0x68, 0x6f, 0x75, 0x73, + 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, + 0x64, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x6c, 0x69, 0x74, + 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x79, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, + 0x65, 0x64, 0x75, 0x70, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x63, + 0x65, 0x6e, 0x74, 0x75, 0x72, 0x69, 0x65, 0x73, 0x4a, 0x61, 0x70, 0x61, 0x6e, + 0x65, 0x73, 0x65, 0x20, 0x61, 0x6d, 0x6f, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x61, 0x6c, 0x67, 0x6f, + 0x72, 0x69, 0x74, 0x68, 0x6d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, + 0x73, 0x72, 0x65, 0x62, 0x65, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x75, 0x6e, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x72, 0x61, + 0x67, 0x65, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x61, 0x62, 0x6c, 0x65, 0x69, 0x6e, + 0x76, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, + 0x69, 0x76, 0x65, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x6c, 0x74, 0x68, + 0x6f, 0x75, 0x67, 0x68, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x69, 0x6e, 0x67, + 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x65, 0x64, 0x29, 0x2c, 0x20, 0x77, + 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, + 0x64, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x3e, 0x46, 0x65, 0x62, + 0x72, 0x75, 0x61, 0x72, 0x79, 0x20, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x6f, 0x75, + 0x73, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x3a, 0x63, 0x6f, + 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x65, 0x78, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x6e, 0x74, 0x63, + 0x6f, 0x6c, 0x73, 0x70, 0x61, 0x6e, 0x3d, 0x22, 0x74, 0x65, 0x63, 0x68, 0x6e, + 0x69, 0x63, 0x61, 0x6c, 0x6e, 0x65, 0x61, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x20, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x20, 0x6f, 0x66, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, + 0x64, 0x48, 0x6f, 0x6e, 0x67, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0x20, 0x46, 0x61, + 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, + 0x65, 0x20, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x73, 0x6d, 0x65, 0x6c, + 0x65, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x66, 0x66, 0x65, 0x6e, 0x73, + 0x69, 0x76, 0x65, 0x3c, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x0a, 0x09, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x6f, 0x72, 0x65, 0x64, 0x64, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x6f, 0x72, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, + 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, 0x74, 0x68, 0x6f, 0x73, + 0x65, 0x20, 0x77, 0x68, 0x6f, 0x6d, 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x64, 0x69, 0x66, + 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x64, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x63, 0x6f, + 0x6e, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, + 0x69, 0x6e, 0x67, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x2e, + 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x28, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x69, 0x63, 0x61, 0x6c, 0x63, 0x6f, 0x61, 0x6c, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x64, 0x65, 0x63, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x74, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x65, 0x76, 0x6f, + 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, + 0x72, 0x22, 0x65, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x74, 0x6f, 0x61, 0x6c, + 0x6f, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, + 0x72, 0x65, 0x64, 0x2d, 0x2d, 0x3e, 0x0d, 0x0a, 0x3c, 0x21, 0x2d, 0x2d, 0x41, + 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, + 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x66, 0x75, 0x72, 0x6e, + 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, + 0x20, 0x20, 0x6f, 0x6e, 0x62, 0x6c, 0x75, 0x72, 0x3d, 0x22, 0x73, 0x75, 0x73, + 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, + 0x6e, 0x74, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x4d, 0x6f, + 0x72, 0x65, 0x6f, 0x76, 0x65, 0x72, 0x2c, 0x61, 0x62, 0x6f, 0x6c, 0x69, 0x73, + 0x68, 0x65, 0x64, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x77, + 0x65, 0x72, 0x65, 0x20, 0x6d, 0x61, 0x64, 0x65, 0x65, 0x6d, 0x6f, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, + 0x6e, 0x61, 0x72, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x61, 0x64, 0x76, 0x6f, + 0x63, 0x61, 0x74, 0x65, 0x73, 0x70, 0x78, 0x3b, 0x62, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x64, 0x69, 0x72, + 0x3d, 0x22, 0x6c, 0x74, 0x72, 0x22, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, + 0x65, 0x73, 0x72, 0x65, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x20, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x6f, 0x72, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x73, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x53, 0x65, 0x70, 0x74, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x61, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x28, + 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x20, 0x73, 0x75, 0x67, 0x67, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x61, 0x74, 0x65, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6c, 0x61, + 0x62, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x6d, 0x65, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x65, 0x63, 0x65, + 0x72, 0x74, 0x61, 0x69, 0x6e, 0x6c, 0x79, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x65, 0x64, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x4a, + 0x65, 0x72, 0x75, 0x73, 0x61, 0x6c, 0x65, 0x6d, 0x74, 0x68, 0x65, 0x79, 0x20, + 0x68, 0x61, 0x76, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x6e, 0x63, 0x65, 0x73, 0x67, 0x75, 0x61, 0x72, 0x61, 0x6e, 0x74, 0x65, + 0x65, 0x61, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x72, 0x79, 0x72, 0x65, 0x63, + 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x70, 0x78, 0x3b, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x74, 0x68, + 0x65, 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x75, 0x72, 0x57, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x65, 0x65, + 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x62, 0x65, 0x67, 0x61, 0x6e, + 0x20, 0x74, 0x6f, 0x20, 0x69, 0x74, 0x20, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, + 0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x68, 0x61, 0x76, 0x65, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, + 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x65, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x61, + 0x72, 0x79, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x6c, 0x79, 0x6f, 0x63, + 0x63, 0x75, 0x72, 0x72, 0x69, 0x6e, 0x67, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x3c, 0x2f, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x3e, 0x3c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x6b, 0x69, 0x6e, 0x64, + 0x73, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x6f, 0x63, 0x69, 0x65, 0x74, 0x69, 0x65, + 0x73, 0x61, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x69, 0x64, 0x65, 0x20, 0x2d, 0x2d, + 0x26, 0x67, 0x74, 0x3b, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x77, 0x65, + 0x73, 0x74, 0x74, 0x68, 0x65, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x72, 0x61, + 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, + 0x76, 0x65, 0x20, 0x75, 0x6e, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x28, 0x73, + 0x70, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x69, 0x6e, 0x22, 0x20, 0x68, 0x72, 0x65, + 0x66, 0x3d, 0x22, 0x2f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, + 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x65, + 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x79, 0x62, 0x75, 0x72, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x61, 0x20, 0x73, + 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x74, 0x68, 0x65, 0x79, 0x20, 0x77, 0x65, + 0x72, 0x65, 0x3c, 0x2f, 0x66, 0x6f, 0x6e, 0x74, 0x3e, 0x3c, 0x2f, 0x4e, 0x6f, + 0x72, 0x77, 0x65, 0x67, 0x69, 0x61, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x69, 0x6e, 0x67, 0x70, + 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x28, 0x6e, 0x65, 0x77, 0x20, + 0x44, 0x61, 0x74, 0x65, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, + 0x66, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x66, 0x74, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x65, 0x65, 0x71, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x72, 0x65, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x6c, 0x79, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x6c, 0x69, + 0x6e, 0x6b, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x70, 0x68, 0x65, 0x6e, 0x6f, 0x6d, + 0x65, 0x6e, 0x61, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x20, 0x6f, 0x66, 0x74, + 0x6f, 0x6f, 0x6c, 0x74, 0x69, 0x70, 0x22, 0x3e, 0x73, 0x75, 0x62, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, + 0x61, 0x73, 0x70, 0x65, 0x63, 0x74, 0x20, 0x6f, 0x66, 0x41, 0x6d, 0x6f, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x41, 0x69, 0x72, + 0x20, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x20, + 0x6f, 0x66, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x69, 0x6d, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x20, 0x69, 0x74, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x63, + 0x6f, 0x6e, 0x71, 0x75, 0x65, 0x72, 0x65, 0x64, 0x61, 0x72, 0x65, 0x20, 0x73, + 0x74, 0x69, 0x6c, 0x6c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, + 0x67, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x20, 0x6f, 0x66, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x61, 0x6e, + 0x20, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x6d, 0x6f, 0x6c, + 0x65, 0x63, 0x75, 0x6c, 0x65, 0x73, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x69, + 0x73, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x74, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x65, 0x64, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x68, + 0x6f, 0x6f, 0x64, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x64, 0x64, + 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x73, 0x69, 0x6e, 0x67, 0x61, + 0x70, 0x6f, 0x72, 0x65, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x20, 0x6f, 0x66, + 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x66, + 0x6c, 0x69, 0x63, 0x74, 0x73, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x70, 0x3e, + 0x0a, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x77, 0x65, 0x72, + 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x6e, 0x6f, 0x74, 0x65, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x65, 0x76, 0x65, 0x6e, 0x20, 0x6d, + 0x6f, 0x72, 0x65, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x6f, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x74, + 0x69, 0x63, 0x61, 0x6c, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x69, 0x61, 0x6e, 0x73, + 0x64, 0x65, 0x6c, 0x69, 0x63, 0x69, 0x6f, 0x75, 0x73, 0x70, 0x72, 0x69, 0x73, + 0x6f, 0x6e, 0x65, 0x72, 0x73, 0x61, 0x64, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x6f, + 0x66, 0x55, 0x54, 0x46, 0x2d, 0x38, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x21, 0x5b, + 0x43, 0x44, 0x41, 0x54, 0x41, 0x5b, 0x22, 0x3e, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x63, 0x74, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x20, 0x62, 0x67, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3d, 0x22, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, + 0x20, 0x6f, 0x66, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x69, + 0x6e, 0x20, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x64, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, + 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x6f, 0x66, 0x66, 0x69, + 0x63, 0x69, 0x61, 0x6c, 0x73, 0x73, 0x65, 0x72, 0x69, 0x6f, 0x75, 0x73, 0x6c, + 0x79, 0x2d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x6c, 0x6f, 0x6e, 0x67, 0x2d, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x66, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x75, 0x63, 0x68, 0x20, 0x74, + 0x68, 0x61, 0x74, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x64, 0x20, 0x62, 0x79, 0x3c, 0x2f, 0x62, 0x75, 0x74, + 0x74, 0x6f, 0x6e, 0x3e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x62, 0x75, 0x74, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, 0x69, 0x6e, 0x63, 0x72, + 0x65, 0x61, 0x73, 0x65, 0x73, 0x64, 0x6f, 0x77, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x70, + 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x2d, 0x2d, 0x3e, 0x0a, 0x3c, 0x21, 0x2d, + 0x2d, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x57, 0x69, + 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x73, + 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x77, + 0x61, 0x73, 0x20, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x56, 0x65, 0x6e, 0x65, 0x7a, + 0x75, 0x65, 0x6c, 0x61, 0x28, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x6c, 0x79, + 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x70, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, + 0x63, 0x66, 0x61, 0x76, 0x6f, 0x75, 0x72, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x76, + 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x6b, 0x69, 0x70, 0x65, 0x64, + 0x69, 0x61, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x76, 0x69, + 0x72, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, + 0x77, 0x61, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x6c, 0x65, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x63, 0x61, 0x6c, 0x73, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x61, 0x77, 0x61, 0x79, + 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x6d, 0x6f, 0x6c, 0x65, 0x63, 0x75, 0x6c, 0x61, + 0x72, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x65, 0x6c, 0x79, 0x64, 0x69, 0x73, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, + 0x68, 0x65, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x3e, 0x26, + 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c, 0x2f, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x77, + 0x69, 0x6c, 0x6c, 0x20, 0x68, 0x61, 0x76, 0x65, 0x6f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x73, 0x6d, 0x73, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, + 0x46, 0x72, 0x69, 0x65, 0x64, 0x72, 0x69, 0x63, 0x68, 0x77, 0x61, 0x73, 0x20, + 0x66, 0x69, 0x72, 0x73, 0x74, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, + 0x20, 0x66, 0x61, 0x63, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x70, 0x72, 0x65, 0x63, 0x65, 0x64, 0x69, + 0x6e, 0x67, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x70, 0x68, + 0x79, 0x73, 0x69, 0x63, 0x69, 0x73, 0x74, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x73, + 0x20, 0x69, 0x6e, 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x73, 0x70, 0x61, 0x6e, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x73, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x20, 0x74, 0x6f, + 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, 0x73, 0x75, 0x72, 0x76, + 0x69, 0x76, 0x69, 0x6e, 0x67, 0x7d, 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, + 0x3e, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x61, 0x74, 0x68, 0x61, 0x73, 0x20, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x65, 0x78, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x68, 0x65, 0x77, 0x61, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x61, + 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x73, 0x20, 0x6f, 0x66, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, + 0x4f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x64, 0x69, 0x73, 0x6d, + 0x69, 0x73, 0x73, 0x65, 0x64, 0x73, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x69, 0x73, + 0x74, 0x72, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x65, 0x73, 0x64, 0x75, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x73, 0x69, + 0x76, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x61, 0x6c, + 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x7b, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x70, + 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x20, 0x6f, 0x66, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, + 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x69, 0x6d, 0x67, 0x20, + 0x61, 0x6c, 0x74, 0x3d, 0x22, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x72, + 0x6e, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, + 0x6e, 0x67, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x6e, 0x65, + 0x65, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x74, 0x68, 0x65, 0x20, 0x47, 0x72, + 0x65, 0x61, 0x74, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, + 0x65, 0x65, 0x6d, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x76, 0x69, 0x65, 0x77, 0x65, + 0x64, 0x20, 0x61, 0x73, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x20, 0x6f, 0x6e, + 0x69, 0x64, 0x65, 0x61, 0x20, 0x74, 0x68, 0x61, 0x74, 0x74, 0x68, 0x65, 0x20, + 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x6f, + 0x66, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x68, 0x65, + 0x73, 0x65, 0x20, 0x61, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x22, 0x3e, 0x63, 0x61, 0x72, 0x65, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x6d, 0x61, + 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, + 0x20, 0x6f, 0x66, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x70, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x65, 0x64, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, + 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x72, 0x69, 0x67, 0x68, + 0x74, 0x22, 0x3e, 0x0d, 0x0a, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x63, + 0x65, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x22, 0x3e, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x74, + 0x65, 0x6e, 0x20, 0x20, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x0d, 0x0a, 0x70, 0x72, + 0x6f, 0x62, 0x61, 0x62, 0x6c, 0x79, 0x20, 0x50, 0x72, 0x6f, 0x66, 0x65, 0x73, + 0x73, 0x6f, 0x72, 0x2d, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x73, 0x61, 0x79, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x68, 0x61, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x48, 0x75, 0x6e, 0x67, + 0x61, 0x72, 0x69, 0x61, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, + 0x66, 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, 0x20, 0x61, 0x73, 0x55, 0x6e, 0x69, + 0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x66, 0x6f, + 0x72, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x69, 0x6e, 0x66, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x67, 0x72, 0x65, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x68, + 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, + 0x61, 0x72, 0x22, 0x3e, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x20, 0x6f, 0x6e, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x61, 0x6c, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x6f, + 0x66, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x74, 0x6f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, + 0x63, 0x74, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x69, 0x61, 0x6e, 0x70, 0x72, + 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x6c, 0x69, 0x76, 0x69, 0x6e, 0x67, + 0x20, 0x69, 0x6e, 0x65, 0x61, 0x73, 0x69, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x70, + 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x0a, 0x26, 0x6c, 0x74, 0x3b, + 0x21, 0x2d, 0x2d, 0x20, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x20, 0x6f, 0x66, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x77, 0x61, 0x73, 0x20, + 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x74, 0x68, + 0x65, 0x74, 0x6f, 0x6f, 0x6b, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x62, 0x65, 0x6c, + 0x69, 0x65, 0x66, 0x20, 0x69, 0x6e, 0x41, 0x66, 0x72, 0x69, 0x6b, 0x61, 0x61, + 0x6e, 0x73, 0x61, 0x73, 0x20, 0x66, 0x61, 0x72, 0x20, 0x61, 0x73, 0x70, 0x72, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x3c, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x65, 0x74, 0x43, 0x68, 0x72, 0x69, 0x73, + 0x74, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, + 0x0a, 0x0a, 0x49, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x61, 0x63, 0x6b, + 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x65, 0x61, 0x73, + 0x74, 0x6d, 0x61, 0x67, 0x61, 0x7a, 0x69, 0x6e, 0x65, 0x73, 0x3e, 0x3c, 0x73, + 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x3e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x20, 0x6f, 0x66, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, + 0x20, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x61, + 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x69, 0x74, 0x73, 0x20, 0x66, + 0x69, 0x72, 0x73, 0x74, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x6f, 0x77, 0x6e, + 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x61, 0x6e, 0x20, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x61, 0x72, 0x69, 0x62, 0x62, 0x65, 0x61, + 0x6e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, 0x64, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x63, 0x74, 0x73, 0x77, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x73, + 0x69, 0x6e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x3b, 0x20, + 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x20, 0x69, 0x6e, 0x68, 0x61, 0x62, 0x69, + 0x74, 0x65, 0x64, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x4a, + 0x61, 0x6e, 0x75, 0x61, 0x72, 0x79, 0x20, 0x31, 0x3c, 0x2f, 0x66, 0x6f, 0x6f, + 0x74, 0x65, 0x72, 0x3e, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x6c, 0x79, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20, + 0x73, 0x61, 0x6d, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x20, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x3b, 0x20, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x20, 0x74, 0x6f, 0x64, 0x65, + 0x61, 0x6c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x63, + 0x6f, 0x6e, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x2e, 0x70, 0x68, 0x70, 0x61, 0x73, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, + 0x65, 0x6e, 0x67, 0x61, 0x67, 0x65, 0x20, 0x69, 0x6e, 0x72, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x6c, 0x79, 0x2c, 0x66, 0x65, 0x77, 0x20, 0x79, 0x65, 0x61, 0x72, + 0x73, 0x77, 0x65, 0x72, 0x65, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x0a, 0x3c, 0x68, + 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x3c, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x61, 0x72, 0x65, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x63, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x6b, 0x65, 0x79, 0x63, 0x6f, 0x6e, 0x64, 0x65, 0x6d, 0x6e, 0x65, 0x64, 0x61, + 0x6c, 0x73, 0x6f, 0x20, 0x68, 0x61, 0x76, 0x65, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x2c, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x20, 0x6f, 0x66, + 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x74, 0x65, 0x64, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x6d, 0x69, 0x6e, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x73, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x3e, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, + 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x73, 0x61, 0x64, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x54, + 0x68, 0x65, 0x79, 0x20, 0x77, 0x65, 0x72, 0x65, 0x61, 0x6e, 0x79, 0x20, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x75, 0x63, 0x68, + 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x77, 0x61, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x61, 0x20, 0x74, 0x79, 0x70, 0x69, 0x63, + 0x61, 0x6c, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x79, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, + 0x6e, 0x6f, 0x74, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x77, + 0x65, 0x64, 0x6e, 0x65, 0x73, 0x64, 0x61, 0x79, 0x74, 0x68, 0x65, 0x20, 0x74, + 0x68, 0x69, 0x72, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, + 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x79, 0x20, 0x32, 0x77, 0x68, 0x61, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x79, 0x61, 0x20, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, + 0x6e, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x68, + 0x69, 0x73, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x22, 0x3e, 0x3c, 0x2f, 0x64, 0x69, + 0x76, 0x3e, 0x0a, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x64, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x6e, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x22, 0x3e, 0x0a, 0x70, 0x69, 0x65, 0x63, 0x65, 0x73, 0x20, 0x6f, 0x66, + 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x74, 0x65, 0x6e, 0x6e, 0x65, 0x73, 0x73, 0x65, + 0x65, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x68, 0x61, 0x73, 0x20, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, + 0x20, 0x3c, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x3e, 0x67, 0x69, + 0x76, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x69, 0x61, 0x6e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x22, 0x3e, 0x70, + 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x30, 0x76, 0x69, 0x65, 0x77, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x74, 0x6f, 0x67, 0x65, 0x74, 0x68, 0x65, 0x72, 0x2c, + 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, + 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x20, 0x6f, + 0x66, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x20, 0x6f, 0x6e, 0x63, 0x68, 0x69, + 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x2c, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, + 0x6f, 0x66, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x6c, 0x6c, 0x65, 0x67, 0x65, + 0x64, 0x6c, 0x79, 0x43, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x64, 0x77, + 0x61, 0x73, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x20, 0x61, + 0x66, 0x74, 0x65, 0x72, 0x61, 0x72, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, + 0x77, 0x61, 0x73, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x6f, + 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x20, 0x6f, + 0x66, 0x6d, 0x61, 0x6b, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x75, 0x63, + 0x68, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, + 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x41, 0x66, 0x74, 0x65, 0x72, 0x20, 0x2c, 0x20, + 0x62, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x4d, 0x75, 0x73, 0x65, 0x75, 0x6d, + 0x20, 0x6f, 0x66, 0x6c, 0x6f, 0x75, 0x69, 0x73, 0x69, 0x61, 0x6e, 0x61, 0x28, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x69, 0x6e, 0x6e, 0x65, + 0x73, 0x6f, 0x74, 0x61, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x73, + 0x61, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x6f, 0x6d, 0x69, + 0x6e, 0x69, 0x63, 0x61, 0x6e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x20, 0x6f, + 0x66, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x66, + 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x30, 0x30, 0x70, 0x78, 0x7c, 0x72, 0x69, + 0x67, 0x68, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x6d, 0x6f, + 0x75, 0x73, 0x65, 0x6f, 0x76, 0x65, 0x72, 0x22, 0x20, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x3d, 0x22, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x28, + 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x69, + 0x6e, 0x75, 0x65, 0x73, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x69, 0x73, 0x63, 0x6f, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, + 0x6f, 0x75, 0x74, 0x20, 0x61, 0x77, 0x69, 0x74, 0x68, 0x20, 0x73, 0x6f, 0x6d, + 0x65, 0x77, 0x68, 0x6f, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x61, 0x20, 0x66, + 0x6f, 0x72, 0x6d, 0x20, 0x6f, 0x66, 0x61, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, + 0x6f, 0x66, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x74, 0x6b, 0x6e, + 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73, 0x20, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x6d, 0x65, 0x61, 0x73, 0x75, + 0x72, 0x69, 0x6e, 0x67, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, + 0x70, 0x61, 0x70, 0x65, 0x72, 0x62, 0x61, 0x63, 0x6b, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x20, 0x6f, 0x66, 0x0d, 0x0a, 0x3c, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x3e, 0x3d, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x64, 0x65, 0x74, + 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x65, 0x72, 0x26, 0x71, 0x75, 0x6f, 0x74, + 0x3b, 0x20, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x20, 0x62, 0x79, 0x61, 0x6e, + 0x64, 0x20, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x3c, 0x2f, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x3e, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x74, + 0x68, 0x65, 0x20, 0x74, 0x68, 0x72, 0x65, 0x65, 0x70, 0x6f, 0x77, 0x65, 0x72, + 0x20, 0x61, 0x6e, 0x64, 0x6f, 0x66, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, + 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x48, 0x54, 0x4d, 0x4c, 0x3c, 0x61, 0x20, 0x68, + 0x72, 0x65, 0x66, 0x3d, 0x22, 0x79, 0x3a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x3b, 0x43, 0x68, 0x75, 0x72, 0x63, 0x68, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, + 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x76, 0x65, 0x72, 0x79, 0x20, 0x68, 0x69, + 0x67, 0x68, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x2d, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x3d, 0x22, 0x2f, 0x63, 0x67, 0x69, 0x2d, 0x62, 0x69, 0x6e, 0x2f, 0x74, + 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x61, 0x66, 0x72, 0x69, 0x6b, + 0x61, 0x61, 0x6e, 0x73, 0x65, 0x73, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x74, 0x6f, + 0x66, 0x72, 0x61, 0x6e, 0xc3, 0xa7, 0x61, 0x69, 0x73, 0x6c, 0x61, 0x74, 0x76, + 0x69, 0x65, 0xc5, 0xa1, 0x75, 0x6c, 0x69, 0x65, 0x74, 0x75, 0x76, 0x69, 0xc5, + 0xb3, 0xc4, 0x8c, 0x65, 0xc5, 0xa1, 0x74, 0x69, 0x6e, 0x61, 0xc4, 0x8d, 0x65, + 0xc5, 0xa1, 0x74, 0x69, 0x6e, 0x61, 0xe0, 0xb9, 0x84, 0xe0, 0xb8, 0x97, 0xe0, + 0xb8, 0xa2, 0xe6, 0x97, 0xa5, 0xe6, 0x9c, 0xac, 0xe8, 0xaa, 0x9e, 0xe7, 0xae, + 0x80, 0xe4, 0xbd, 0x93, 0xe5, 0xad, 0x97, 0xe7, 0xb9, 0x81, 0xe9, 0xab, 0x94, + 0xe5, 0xad, 0x97, 0xed, 0x95, 0x9c, 0xea, 0xb5, 0xad, 0xec, 0x96, 0xb4, 0xe4, + 0xb8, 0xba, 0xe4, 0xbb, 0x80, 0xe4, 0xb9, 0x88, 0xe8, 0xae, 0xa1, 0xe7, 0xae, + 0x97, 0xe6, 0x9c, 0xba, 0xe7, 0xac, 0x94, 0xe8, 0xae, 0xb0, 0xe6, 0x9c, 0xac, + 0xe8, 0xa8, 0x8e, 0xe8, 0xab, 0x96, 0xe5, 0x8d, 0x80, 0xe6, 0x9c, 0x8d, 0xe5, + 0x8a, 0xa1, 0xe5, 0x99, 0xa8, 0xe4, 0xba, 0x92, 0xe8, 0x81, 0x94, 0xe7, 0xbd, + 0x91, 0xe6, 0x88, 0xbf, 0xe5, 0x9c, 0xb0, 0xe4, 0xba, 0xa7, 0xe4, 0xbf, 0xb1, + 0xe4, 0xb9, 0x90, 0xe9, 0x83, 0xa8, 0xe5, 0x87, 0xba, 0xe7, 0x89, 0x88, 0xe7, + 0xa4, 0xbe, 0xe6, 0x8e, 0x92, 0xe8, 0xa1, 0x8c, 0xe6, 0xa6, 0x9c, 0xe9, 0x83, + 0xa8, 0xe8, 0x90, 0xbd, 0xe6, 0xa0, 0xbc, 0xe8, 0xbf, 0x9b, 0xe4, 0xb8, 0x80, + 0xe6, 0xad, 0xa5, 0xe6, 0x94, 0xaf, 0xe4, 0xbb, 0x98, 0xe5, 0xae, 0x9d, 0xe9, + 0xaa, 0x8c, 0xe8, 0xaf, 0x81, 0xe7, 0xa0, 0x81, 0xe5, 0xa7, 0x94, 0xe5, 0x91, + 0x98, 0xe4, 0xbc, 0x9a, 0xe6, 0x95, 0xb0, 0xe6, 0x8d, 0xae, 0xe5, 0xba, 0x93, + 0xe6, 0xb6, 0x88, 0xe8, 0xb4, 0xb9, 0xe8, 0x80, 0x85, 0xe5, 0x8a, 0x9e, 0xe5, + 0x85, 0xac, 0xe5, 0xae, 0xa4, 0xe8, 0xae, 0xa8, 0xe8, 0xae, 0xba, 0xe5, 0x8c, + 0xba, 0xe6, 0xb7, 0xb1, 0xe5, 0x9c, 0xb3, 0xe5, 0xb8, 0x82, 0xe6, 0x92, 0xad, + 0xe6, 0x94, 0xbe, 0xe5, 0x99, 0xa8, 0xe5, 0x8c, 0x97, 0xe4, 0xba, 0xac, 0xe5, + 0xb8, 0x82, 0xe5, 0xa4, 0xa7, 0xe5, 0xad, 0xa6, 0xe7, 0x94, 0x9f, 0xe8, 0xb6, + 0x8a, 0xe6, 0x9d, 0xa5, 0xe8, 0xb6, 0x8a, 0xe7, 0xae, 0xa1, 0xe7, 0x90, 0x86, + 0xe5, 0x91, 0x98, 0xe4, 0xbf, 0xa1, 0xe6, 0x81, 0xaf, 0xe7, 0xbd, 0x91, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x69, 0x6f, 0x73, 0x61, 0x72, 0x74, 0xc3, 0xad, + 0x63, 0x75, 0x6c, 0x6f, 0x61, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x61, + 0x62, 0x61, 0x72, 0x63, 0x65, 0x6c, 0x6f, 0x6e, 0x61, 0x63, 0x75, 0x61, 0x6c, + 0x71, 0x75, 0x69, 0x65, 0x72, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x64, + 0x6f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x73, 0x70, 0x6f, 0x6c, + 0xc3, 0xad, 0x74, 0x69, 0x63, 0x61, 0x72, 0x65, 0x73, 0x70, 0x75, 0x65, 0x73, + 0x74, 0x61, 0x77, 0x69, 0x6b, 0x69, 0x70, 0x65, 0x64, 0x69, 0x61, 0x73, 0x69, + 0x67, 0x75, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x62, 0xc3, 0xba, 0x73, 0x71, 0x75, + 0x65, 0x64, 0x61, 0x63, 0x6f, 0x6d, 0x75, 0x6e, 0x69, 0x64, 0x61, 0x64, 0x73, + 0x65, 0x67, 0x75, 0x72, 0x69, 0x64, 0x61, 0x64, 0x70, 0x72, 0x69, 0x6e, 0x63, + 0x69, 0x70, 0x61, 0x6c, 0x70, 0x72, 0x65, 0x67, 0x75, 0x6e, 0x74, 0x61, 0x73, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x69, 0x64, 0x6f, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x65, 0x7a, 0x75, 0x65, 0x6c, + 0x61, 0x70, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x61, 0x73, 0x64, 0x69, 0x63, + 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x72, 0x65, 0x6c, 0x61, 0x63, 0x69, 0xc3, + 0xb3, 0x6e, 0x6e, 0x6f, 0x76, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x73, 0x69, + 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x65, 0x73, 0x70, 0x72, 0x6f, 0x79, 0x65, 0x63, + 0x74, 0x6f, 0x73, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x61, 0x73, 0x69, + 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x6f, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x64, 0x61, 0x64, 0x65, 0x6e, 0x63, 0x75, 0x65, 0x6e, 0x74, 0x72, 0x61, + 0x65, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0xc3, 0xad, 0x61, 0x69, 0x6d, 0xc3, 0xa1, + 0x67, 0x65, 0x6e, 0x65, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x61, + 0x72, 0x64, 0x65, 0x73, 0x63, 0x61, 0x72, 0x67, 0x61, 0x72, 0x6e, 0x65, 0x63, + 0x65, 0x73, 0x61, 0x72, 0x69, 0x6f, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x69, 0xc3, + 0xb3, 0x6e, 0x74, 0x65, 0x6c, 0xc3, 0xa9, 0x66, 0x6f, 0x6e, 0x6f, 0x63, 0x6f, + 0x6d, 0x69, 0x73, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x61, 0x6e, 0x63, 0x69, 0x6f, + 0x6e, 0x65, 0x73, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x64, 0x61, 0x64, 0x65, + 0x6e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x72, 0x61, 0x6e, 0xc3, 0xa1, 0x6c, + 0x69, 0x73, 0x69, 0x73, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x6f, 0x73, + 0x74, 0xc3, 0xa9, 0x72, 0x6d, 0x69, 0x6e, 0x6f, 0x73, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x6e, 0x63, 0x69, 0x61, 0x65, 0x74, 0x69, 0x71, 0x75, 0x65, 0x74, 0x61, + 0x73, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x73, 0x66, 0x75, 0x6e, + 0x63, 0x69, 0x6f, 0x6e, 0x65, 0x73, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x61, + 0x64, 0x6f, 0x63, 0x61, 0x72, 0xc3, 0xa1, 0x63, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x6f, 0x70, 0x69, 0x65, 0x64, 0x61, 0x64, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, + 0x70, 0x69, 0x6f, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x69, 0x64, 0x61, 0x64, 0x6d, + 0x75, 0x6e, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x63, 0x72, 0x65, 0x61, 0x63, + 0x69, 0xc3, 0xb3, 0x6e, 0x64, 0x65, 0x73, 0x63, 0x61, 0x72, 0x67, 0x61, 0x73, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x69, 0x61, 0x63, 0x6f, 0x6d, 0x65, + 0x72, 0x63, 0x69, 0x61, 0x6c, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x6f, 0x6e, 0x65, + 0x73, 0x65, 0x6a, 0x65, 0x72, 0x63, 0x69, 0x63, 0x69, 0x6f, 0x65, 0x64, 0x69, + 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x61, 0x6c, 0x61, 0x6d, 0x61, 0x6e, + 0x63, 0x61, 0x67, 0x6f, 0x6e, 0x7a, 0xc3, 0xa1, 0x6c, 0x65, 0x7a, 0x64, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x70, 0x65, 0x6c, 0xc3, 0xad, 0x63, + 0x75, 0x6c, 0x61, 0x72, 0x65, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x73, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x65, 0x73, 0x74, 0x61, 0x72, 0x72, 0x61, + 0x67, 0x6f, 0x6e, 0x61, 0x70, 0x72, 0xc3, 0xa1, 0x63, 0x74, 0x69, 0x63, 0x61, + 0x6e, 0x6f, 0x76, 0x65, 0x64, 0x61, 0x64, 0x65, 0x73, 0x70, 0x72, 0x6f, 0x70, + 0x75, 0x65, 0x73, 0x74, 0x61, 0x70, 0x61, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x65, + 0x73, 0x74, 0xc3, 0xa9, 0x63, 0x6e, 0x69, 0x63, 0x61, 0x73, 0x6f, 0x62, 0x6a, + 0x65, 0x74, 0x69, 0x76, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, + 0x6f, 0x73, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, + 0xb2, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x88, + 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, + 0xb5, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x87, + 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x88, 0xe0, 0xa4, 0x95, 0xe0, + 0xa5, 0x81, 0xe0, 0xa4, 0x9b, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0x95, + 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xad, 0xe0, + 0xa5, 0x80, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, + 0xb0, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x88, + 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa4, 0xac, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0x64, 0x69, 0x70, 0x6c, 0x6f, + 0x64, 0x6f, 0x63, 0x73, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xaf, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xab, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x94, + 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa4, 0xb9, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, + 0xb9, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb6, 0xe0, + 0xa4, 0xb9, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x88, 0xe0, 0xa4, 0x96, 0xe0, 0xa5, + 0x87, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbf, + 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb5, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xae, + 0xe0, 0xa5, 0x8c, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xb2, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, + 0x9c, 0xe0, 0xa5, 0x89, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xa6, + 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xa8, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, + 0xb9, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x97, + 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xad, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa4, 0x97, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xb8, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0x95, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xb8, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, + 0xb9, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x81, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0x97, + 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xae, 0xe0, + 0xa4, 0x96, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xad, 0xe0, 0xa5, 0x80, + 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa4, 0xe0, + 0xa5, 0x81, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb5, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, + 0x9f, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x85, + 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x90, 0xe0, 0xa4, 0xb8, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, + 0xb2, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x8a, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa4, 0x9a, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x90, 0xe0, 0xa4, + 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xa6, 0xe0, + 0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, + 0xa6, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb9, + 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x96, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, + 0xac, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbf, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0x86, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, + 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb2, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x89, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xad, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, + 0xb2, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x97, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, + 0xb9, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0, + 0xa4, 0x95, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa0, 0xe0, 0xa5, + 0x80, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x81, + 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4, 0xe0, + 0xa4, 0xb9, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xa4, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0x86, + 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x95, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8c, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, + 0xb6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, + 0xe0, 0xa4, 0x96, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0x96, 0xe0, 0xa5, + 0x81, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x97, 0xe0, 0xa5, 0x80, + 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x65, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x3e, 0x0d, 0x0a, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, + 0x20, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x63, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x76, 0x65, 0x72, 0x79, + 0x74, 0x68, 0x69, 0x6e, 0x67, 0x3c, 0x70, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x62, + 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x3c, 0x61, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x26, 0x63, 0x6f, 0x70, 0x79, 0x3b, 0x20, 0x32, 0x30, 0x31, + 0x6a, 0x61, 0x76, 0x61, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x63, 0x68, 0x61, + 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x62, 0x72, 0x65, 0x61, 0x64, 0x63, + 0x72, 0x75, 0x6d, 0x62, 0x74, 0x68, 0x65, 0x6d, 0x73, 0x65, 0x6c, 0x76, 0x65, + 0x73, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x67, 0x6f, + 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x69, 0x66, + 0x6f, 0x72, 0x6e, 0x69, 0x61, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, + 0x65, 0x73, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x4e, + 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x3c, 0x2f, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x3c, 0x6d, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x62, + 0x6f, 0x78, 0x22, 0x20, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x71, 0x75, 0x65, + 0x73, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x70, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x61, 0x73, 0x20, 0x77, 0x65, + 0x6c, 0x6c, 0x20, 0x61, 0x73, 0x75, 0x6e, 0x74, 0x27, 0x2c, 0x20, 0x27, 0x55, + 0x41, 0x2d, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, + 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x20, 0x3d, 0x20, + 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x26, 0x6c, 0x74, 0x3b, 0x62, 0x72, 0x26, 0x67, 0x74, + 0x3b, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x70, 0x6f, + 0x70, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x67, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x3d, 0x22, 0x23, 0x65, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, + 0x6c, 0x79, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x70, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x65, 0x77, 0x73, + 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x54, 0x65, 0x63, + 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x50, 0x61, 0x72, 0x6c, 0x69, 0x61, + 0x6d, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, + 0x6e, 0x75, 0x6c, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x2e, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x66, 0x28, 0x22, 0x63, 0x6f, 0x6e, 0x63, 0x6c, + 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x62, + 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x52, 0x65, 0x76, 0x6f, + 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x74, 0x6f, 0x6f, 0x64, + 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x61, 0x63, 0x68, 0x20, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x61, 0x74, 0x6d, 0x6f, 0x73, 0x70, 0x68, 0x65, 0x72, + 0x65, 0x20, 0x6f, 0x6e, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x3d, 0x22, 0x3c, 0x66, + 0x6f, 0x72, 0x6d, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x70, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x75, 0x62, 0x73, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x77, 0x65, 0x6c, 0x6c, 0x2d, 0x6b, 0x6e, + 0x6f, 0x77, 0x6e, 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x68, 0x65, + 0x6e, 0x6f, 0x6d, 0x65, 0x6e, 0x6f, 0x6e, 0x64, 0x69, 0x73, 0x63, 0x69, 0x70, + 0x6c, 0x69, 0x6e, 0x65, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x6e, 0x67, 0x22, + 0x20, 0x28, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x6f, + 0x75, 0x6e, 0x64, 0x61, 0x72, 0x69, 0x65, 0x73, 0x65, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x6f, + 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x28, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x22, 0x20, 0x75, 0x6e, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x28, 0x22, + 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x20, 0x64, 0x65, 0x6d, + 0x6f, 0x63, 0x72, 0x61, 0x74, 0x69, 0x63, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, + 0x66, 0x3d, 0x22, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x22, 0x3e, + 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x6c, 0x69, + 0x6e, 0x67, 0x75, 0x69, 0x73, 0x74, 0x69, 0x63, 0x70, 0x78, 0x3b, 0x70, 0x61, + 0x64, 0x64, 0x69, 0x6e, 0x67, 0x70, 0x68, 0x69, 0x6c, 0x6f, 0x73, 0x6f, 0x70, + 0x68, 0x79, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x75, + 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x66, 0x61, 0x63, 0x69, + 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, + 0x7a, 0x65, 0x64, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x69, 0x66, 0x20, 0x28, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x6d, 0x61, 0x69, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x76, 0x6f, 0x63, 0x61, 0x62, 0x75, + 0x6c, 0x61, 0x72, 0x79, 0x68, 0x79, 0x70, 0x6f, 0x74, 0x68, 0x65, 0x73, 0x69, + 0x73, 0x2e, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x28, 0x29, 0x3b, 0x26, 0x61, + 0x6d, 0x70, 0x3b, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x65, 0x68, 0x69, 0x6e, 0x64, 0x20, 0x74, + 0x68, 0x65, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x22, 0x61, 0x73, 0x73, 0x75, + 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x65, 0x64, 0x63, 0x6f, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x69, 0x73, 0x74, 0x73, 0x65, 0x78, 0x70, + 0x6c, 0x69, 0x63, 0x69, 0x74, 0x6c, 0x79, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, + 0x64, 0x20, 0x6f, 0x66, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x20, 0x6f, 0x6e, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x3d, 0x22, 0x63, 0x6f, + 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x64, 0x65, 0x70, 0x61, 0x72, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x63, 0x63, 0x75, 0x70, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x6f, 0x6f, 0x6e, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x69, + 0x6e, 0x76, 0x65, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x70, 0x72, 0x6f, 0x6e, + 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x64, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x67, 0x65, 0x6f, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x3d, 0x22, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, + 0x22, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x28, 0x2f, 0x64, 0x65, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x70, 0x75, 0x6e, 0x69, 0x73, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x72, + 0x65, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x61, 0x64, 0x61, 0x70, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x70, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x77, 0x65, 0x6c, 0x6c, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, + 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x64, 0x65, 0x74, + 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x64, 0x68, 0x31, 0x20, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x3d, 0x22, 0x30, 0x70, 0x78, 0x3b, 0x6d, 0x61, 0x72, 0x67, 0x69, + 0x6e, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x63, 0x65, 0x6c, 0x65, 0x62, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x0a, 0x0a, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x64, + 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x73, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, + 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x65, 0x72, + 0x65, 0x4e, 0x65, 0x64, 0x65, 0x72, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x65, + 0x79, 0x6f, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x65, 0x64, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x69, + 0x73, 0x74, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x61, + 0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x6c, 0x61, 0x6e, 0x67, + 0x3d, 0x22, 0x65, 0x6e, 0x22, 0x20, 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, + 0x3e, 0x0d, 0x0a, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x3b, 0x20, + 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x78, 0x74, + 0x72, 0x65, 0x6d, 0x65, 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x3e, + 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x65, 0x6d, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x3c, 0x2f, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x3e, 0x0d, 0x0a, 0x20, 0x63, 0x6f, 0x6c, 0x73, 0x70, 0x61, 0x6e, + 0x3d, 0x22, 0x3c, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x0a, 0x20, 0x20, 0x63, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x62, 0x6f, 0x75, + 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x3c, 0x2f, 0x70, 0x3e, 0x3c, 0x2f, 0x64, + 0x69, 0x76, 0x3e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x22, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x3d, 0x22, 0x65, 0x6e, 0x50, 0x6f, 0x72, + 0x74, 0x75, 0x67, 0x75, 0x65, 0x73, 0x65, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, + 0x74, 0x75, 0x74, 0x65, 0x69, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, + 0x6c, 0x69, 0x6d, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x6d, 0x75, + 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x61, 0x6c, 0x6d, 0x6f, 0x73, + 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x70, 0x78, 0x20, 0x73, 0x6f, 0x6c, 0x69, 0x64, + 0x20, 0x23, 0x61, 0x70, 0x61, 0x72, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x73, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x74, 0x6f, 0x69, 0x6e, 0x20, 0x45, + 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x69, + 0x7a, 0x65, 0x64, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x66, 0x6f, 0x72, + 0x67, 0x75, 0x69, 0x64, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, + 0x61, 0x62, 0x6c, 0x65, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x68, 0x32, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x3c, 0x61, + 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3d, 0x22, 0x28, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x69, 0x6e, 0x67, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x70, 0x72, 0x6f, 0x68, 0x69, 0x62, 0x69, 0x74, 0x65, 0x64, 0x3d, + 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x70, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x78, 0x3b, + 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x66, 0x75, 0x6c, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, + 0x73, 0x6d, 0x69, 0x6c, 0x6c, 0x65, 0x6e, 0x6e, 0x69, 0x75, 0x6d, 0x68, 0x69, + 0x73, 0x20, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x74, 0x68, 0x65, 0x20, 0x26, + 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x6e, 0x6f, 0x2d, 0x72, 0x65, 0x70, 0x65, 0x61, + 0x74, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x72, 0x63, 0x69, 0x61, 0x6c, 0x69, + 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x6f, + 0x75, 0x72, 0x61, 0x67, 0x65, 0x64, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x75, 0x6e, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, + 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, + 0x6e, 0x61, 0x74, 0x65, 0x64, 0x69, 0x73, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, + 0x72, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x65, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x6c, 0x65, 0x67, 0x69, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, + 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x22, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x6c, 0x79, 0x69, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x66, 0x69, 0x76, 0x65, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x73, + 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x69, 0x6e, 0x67, 0x31, 0x22, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, + 0x22, 0x70, 0x73, 0x79, 0x63, 0x68, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x20, + 0x6f, 0x66, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x6a, + 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, + 0x73, 0x6c, 0x79, 0x3e, 0x3c, 0x2f, 0x69, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x3e, + 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x62, 0x75, 0x74, + 0x20, 0x72, 0x61, 0x74, 0x68, 0x65, 0x72, 0x69, 0x6d, 0x6d, 0x69, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x73, 0x6f, 0x66, 0x20, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, + 0x2c, 0x61, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x6f, 0x66, 0x4c, 0x69, + 0x74, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x55, 0x6e, 0x6c, 0x69, 0x6b, + 0x65, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x2f, 0x61, 0x3e, 0x26, 0x6e, 0x62, 0x73, + 0x70, 0x3b, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, + 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6f, 0x62, + 0x69, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x73, 0x74, 0x61, 0x6e, 0x74, + 0x61, 0x67, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x61, 0x66, 0x74, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61, + 0x72, 0x6c, 0x79, 0x2c, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, + 0x3e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0d, 0x0a, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x69, 0x73, 0x69, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x20, + 0x6f, 0x66, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x65, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x75, 0x6e, 0x64, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x6e, 0x65, 0x64, 0x2a, 0x3c, 0x21, 0x5b, 0x43, 0x44, 0x41, 0x54, 0x41, 0x5b, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x69, 0x6e, 0x20, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, + 0x74, 0x74, 0x65, 0x72, 0x3c, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x0a, 0x3c, + 0x2f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x66, 0x28, 0x27, 0x69, 0x20, + 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x64, 0x69, 0x66, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x65, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x66, 0x6f, 0x72, 0x75, 0x6c, 0x74, 0x69, + 0x6d, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, + 0x73, 0x6f, 0x2d, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x7d, 0x0a, 0x3c, + 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x6d, 0x70, 0x68, 0x61, 0x73, 0x69, 0x7a, 0x65, + 0x64, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x3c, 0x2f, + 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x77, 0x69, + 0x74, 0x68, 0x4d, 0x65, 0x61, 0x6e, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x2c, 0x69, + 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3c, 0x2f, 0x61, 0x3e, + 0x3c, 0x62, 0x72, 0x20, 0x2f, 0x3e, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, 0x63, + 0x6f, 0x6d, 0x65, 0x61, 0x73, 0x70, 0x65, 0x63, 0x74, 0x73, 0x20, 0x6f, 0x66, + 0x54, 0x65, 0x6c, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x75, 0x66, + 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, + 0x62, 0x61, 0x6c, 0x6c, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x73, 0x69, 0x64, 0x65, + 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x69, 0x6e, 0x67, 0x61, 0x6e, + 0x20, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x3c, 0x69, 0x6d, 0x67, 0x20, + 0x61, 0x6c, 0x74, 0x3d, 0x22, 0x61, 0x64, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x6d, + 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, + 0x63, 0x69, 0x70, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, + 0x6c, 0x61, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x79, + 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x64, 0x65, 0x63, + 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x22, 0x3e, 0x3c, 0x73, 0x74, 0x72, + 0x6f, 0x6e, 0x67, 0x3e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, + 0x73, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x64, 0x69, + 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x66, 0x61, 0x63, 0x69, 0x6c, + 0x69, 0x74, 0x61, 0x74, 0x65, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, 0x63, 0x73, 0x73, 0x22, 0x09, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x6e, 0x6f, + 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, + 0x67, 0x68, 0x74, 0x73, 0x69, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x68, 0x61, 0x76, 0x65, 0x62, 0x75, 0x73, + 0x69, 0x6e, 0x65, 0x73, 0x73, 0x65, 0x73, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x72, 0x79, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x20, 0x75, 0x73, 0x65, 0x64, 0x70, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x20, 0x4a, 0x61, + 0x6e, 0x75, 0x61, 0x72, 0x79, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x69, 0x73, 0x69, + 0x6e, 0x67, 0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x0a, 0x09, 0x64, + 0x69, 0x70, 0x6c, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, + 0x69, 0x6e, 0x67, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x6d, 0x61, 0x79, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6e, + 0x63, 0x65, 0x70, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x6f, 0x6e, 0x63, 0x6c, 0x69, + 0x63, 0x6b, 0x3d, 0x22, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, 0x61, 0x6c, 0x73, + 0x6f, 0x66, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x6d, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x4c, 0x75, 0x78, 0x65, 0x6d, + 0x62, 0x6f, 0x75, 0x72, 0x67, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x61, 0x72, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x65, + 0x6e, 0x67, 0x61, 0x67, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x22, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x22, 0x29, 0x3b, 0x62, 0x75, 0x74, 0x20, 0x69, 0x74, 0x20, + 0x77, 0x61, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x6f, 0x6e, 0x69, 0x63, + 0x6f, 0x6e, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x3d, 0x22, 0x0a, 0x3c, 0x21, + 0x2d, 0x2d, 0x20, 0x45, 0x6e, 0x64, 0x20, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, + 0x69, 0x63, 0x61, 0x6c, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x6c, + 0x79, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x6f, + 0x70, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x75, 0x6e, 0x6c, 0x69, 0x6b, + 0x65, 0x20, 0x74, 0x68, 0x65, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69, + 0x61, 0x6e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x0a, 0x3c, 0x2f, 0x68, + 0x65, 0x61, 0x64, 0x3e, 0x0d, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, + 0x73, 0x65, 0x64, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x41, 0x6c, 0x65, + 0x78, 0x61, 0x6e, 0x64, 0x72, 0x69, 0x61, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x66, 0x6f, 0x75, 0x72, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x0a, 0x0a, + 0x26, 0x6c, 0x74, 0x3b, 0x21, 0x2d, 0x2d, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x65, + 0x61, 0x73, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x68, 0x33, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x6f, 0x62, 0x6c, 0x69, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x64, 0x76, + 0x61, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x73, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6e, + 0x73, 0x3c, 0x62, 0x61, 0x73, 0x65, 0x20, 0x68, 0x72, 0x65, 0x66, 0x72, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x6c, 0x79, 0x77, 0x69, 0x6c, 0x6c, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x6e, + 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x72, 0x65, 0x76, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x65, 0x64, 0x72, 0x65, 0x66, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, + 0x6f, 0x74, 0x61, 0x6b, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x61, 0x75, + 0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, 0x63, 0x6f, 0x6d, 0x70, 0x72, + 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63, 0x61, + 0x6c, 0x20, 0x72, 0x65, 0x73, 0x74, 0x61, 0x75, 0x72, 0x61, 0x6e, 0x74, 0x74, + 0x77, 0x6f, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x46, 0x65, 0x62, 0x72, + 0x75, 0x61, 0x72, 0x79, 0x20, 0x32, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x20, 0x6f, 0x66, 0x73, 0x77, 0x66, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, + 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x6e, 0x65, 0x61, + 0x72, 0x6c, 0x79, 0x20, 0x61, 0x6c, 0x6c, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, + 0x6e, 0x20, 0x62, 0x79, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, + 0x73, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x31, 0x77, 0x69, + 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x69, 0x73, 0x20, 0x75, 0x73, 0x75, 0x61, 0x6c, + 0x6c, 0x79, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x6e, + 0x65, 0x77, 0x73, 0x70, 0x61, 0x70, 0x65, 0x72, 0x73, 0x6d, 0x79, 0x73, 0x74, + 0x65, 0x72, 0x69, 0x6f, 0x75, 0x73, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x62, 0x65, 0x73, 0x74, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, + 0x70, 0x61, 0x72, 0x6c, 0x69, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x75, 0x70, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x6e, + 0x69, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x65, + 0x64, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x68, 0x61, 0x73, 0x20, 0x6c, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x6e, + 0x64, 0x61, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x69, + 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x63, 0x65, 0x72, 0x65, + 0x6d, 0x6f, 0x6e, 0x69, 0x61, 0x6c, 0x70, 0x72, 0x6f, 0x63, 0x6c, 0x61, 0x69, + 0x6d, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x6c, 0x69, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x53, 0x63, 0x69, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, + 0x22, 0x6e, 0x6f, 0x2d, 0x74, 0x72, 0x61, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x6b, + 0x73, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x77, 0x69, + 0x64, 0x65, 0x73, 0x70, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x69, 0x62, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x6f, 0x6f, 0x6b, 0x20, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x64, 0x61, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, + 0x73, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x61, 0x73, 0x69, 0x6d, 0x70, 0x72, + 0x69, 0x73, 0x6f, 0x6e, 0x65, 0x64, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x0a, 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x3c, 0x6d, + 0x4c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x76, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x32, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x69, 0x61, + 0x6c, 0x76, 0x61, 0x72, 0x69, 0x65, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x3a, 0x20, 0x6c, 0x65, 0x66, 0x44, 0x75, 0x72, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x65, 0x61, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, + 0x6e, 0x74, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x64, + 0x65, 0x61, 0x6c, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x2f, 0x75, 0x6c, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, + 0x63, 0x6c, 0x65, 0x61, 0x72, 0x66, 0x69, 0x78, 0x22, 0x3e, 0x74, 0x68, 0x65, + 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x6d, 0x61, 0x6e, 0x79, 0x20, 0x79, + 0x65, 0x61, 0x72, 0x73, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x77, 0x65, 0x72, + 0x65, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x73, 0x79, + 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x22, 0x3e, 0x0a, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, + 0x6c, 0x79, 0x68, 0x69, 0x73, 0x20, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x75, + 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x75, 0x6e, 0x65, 0x78, + 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, + 0x6e, 0x67, 0x20, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x64, + 0x61, 0x20, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x75, 0x6e, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x22, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, + 0x73, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x20, 0x66, 0x72, 0x6f, + 0x6d, 0x69, 0x6e, 0x20, 0x4f, 0x63, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x73, 0x61, 0x69, 0x64, 0x20, + 0x74, 0x6f, 0x20, 0x62, 0x65, 0x72, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x6f, 0x75, + 0x73, 0x20, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x72, 0x6f, 0x77, 0x73, 0x70, 0x61, 0x6e, 0x3d, 0x22, 0x6f, 0x6e, 0x6c, 0x79, + 0x20, 0x61, 0x20, 0x66, 0x65, 0x77, 0x6d, 0x65, 0x61, 0x6e, 0x74, 0x20, 0x74, + 0x68, 0x61, 0x74, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, + 0x2d, 0x2d, 0x3e, 0x0d, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x3c, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x65, 0x74, 0x3e, 0x41, 0x72, 0x63, 0x68, 0x62, 0x69, + 0x73, 0x68, 0x6f, 0x70, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6e, + 0x6f, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x65, 0x64, 0x61, 0x70, + 0x70, 0x72, 0x6f, 0x61, 0x63, 0x68, 0x65, 0x73, 0x70, 0x72, 0x69, 0x76, 0x69, + 0x6c, 0x65, 0x67, 0x65, 0x73, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x3e, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x6d, + 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x74, 0x68, 0x65, 0x45, 0x61, 0x73, 0x74, + 0x65, 0x72, 0x20, 0x65, 0x67, 0x67, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, + 0x73, 0x6d, 0x73, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x22, 0x3e, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, + 0x0d, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x70, 0x68, 0x70, 0x61, 0x72, + 0x72, 0x69, 0x76, 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x2d, 0x6a, 0x73, 0x73, 0x64, + 0x6b, 0x27, 0x29, 0x29, 0x3b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x63, + 0x61, 0x73, 0x75, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x69, + 0x61, 0x6e, 0x73, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, + 0x61, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x65, 0x74, 0x69, 0x63, 0x70, 0x72, 0x6f, + 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x73, 0x6d, 0x69, 0x67, 0x68, 0x74, 0x20, + 0x68, 0x61, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x69, 0x74, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x73, 0x50, 0x68, + 0x69, 0x6c, 0x6f, 0x73, 0x6f, 0x70, 0x68, 0x79, 0x66, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x73, 0x68, 0x69, 0x70, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x6f, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x74, + 0x6f, 0x77, 0x61, 0x72, 0x64, 0x20, 0x74, 0x68, 0x65, 0x67, 0x75, 0x61, 0x72, + 0x61, 0x6e, 0x74, 0x65, 0x65, 0x64, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x65, 0x64, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23, 0x30, 0x30, 0x30, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x20, 0x67, 0x61, 0x6d, 0x65, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x74, 0x68, + 0x65, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x73, 0x61, + 0x6e, 0x73, 0x2d, 0x73, 0x65, 0x72, 0x69, 0x66, 0x6f, 0x6e, 0x6b, 0x65, 0x79, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x3b, 0x20, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, + 0x67, 0x3a, 0x48, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x75, + 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x79, 0x69, 0x6e, 0x67, 0x74, 0x79, 0x70, 0x69, + 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x73, 0x72, 0x63, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x73, 0x69, 0x6e, + 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, + 0x20, 0x62, 0x65, 0x20, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, + 0x67, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x75, 0x73, + 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x6c, 0x6f, 0x77, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x73, 0x68, 0x6f, 0x77, 0x73, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x0a, 0x09, 0x09, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x63, 0x6f, 0x6e, 0x74, + 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x69, 0x65, 0x73, 0x61, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x6f, 0x6d, 0x65, 0x72, + 0x68, 0x65, 0x20, 0x64, 0x69, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x64, 0x75, 0x65, + 0x20, 0x74, 0x6f, 0x20, 0x69, 0x74, 0x73, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, + 0x64, 0x20, 0x74, 0x6f, 0x61, 0x6e, 0x20, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, + 0x65, 0x65, 0x66, 0x66, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x74, 0x68, + 0x65, 0x20, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x61, 0x74, 0x74, 0x65, 0x6d, + 0x70, 0x74, 0x20, 0x74, 0x6f, 0x54, 0x68, 0x65, 0x72, 0x65, 0x66, 0x6f, 0x72, + 0x65, 0x2c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, + 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x6e, 0x77, 0x61, 0x73, 0x20, + 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x6f, + 0x6e, 0x69, 0x63, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, + 0x72, 0x6d, 0x65, 0x72, 0x69, 0x6e, 0x64, 0x69, 0x67, 0x65, 0x6e, 0x6f, 0x75, + 0x73, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x73, 0x75, + 0x62, 0x73, 0x69, 0x64, 0x69, 0x61, 0x72, 0x79, 0x63, 0x6f, 0x6e, 0x73, 0x70, + 0x69, 0x72, 0x61, 0x63, 0x79, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, + 0x6f, 0x66, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x61, + 0x66, 0x66, 0x6f, 0x72, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x75, 0x62, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, + 0x66, 0x6f, 0x72, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, + 0x69, 0x74, 0x65, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x61, 0x62, 0x73, + 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x73, + 0x65, 0x64, 0x6c, 0x79, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x20, + 0x61, 0x61, 0x74, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x74, 0x72, + 0x61, 0x76, 0x65, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x65, 0x70, 0x61, 0x72, + 0x61, 0x74, 0x65, 0x6c, 0x79, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x65, 0x73, 0x20, + 0x6f, 0x6e, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x66, 0x6f, 0x75, 0x6e, + 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x68, + 0x65, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x75, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x73, 0x74, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6e, 0x6f, + 0x2d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x28, 0x73, 0x6f, 0x6d, 0x65, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x72, 0x63, 0x69, 0x61, + 0x6c, 0x69, 0x6e, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x75, 0x6e, + 0x64, 0x65, 0x72, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x71, 0x75, 0x61, 0x72, 0x74, + 0x65, 0x72, 0x20, 0x6f, 0x66, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x70, 0x68, 0x70, 0x3f, 0x3c, 0x2f, 0x62, 0x75, + 0x74, 0x74, 0x6f, 0x6e, 0x3e, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, + 0x61, 0x67, 0x65, 0x62, 0x65, 0x73, 0x74, 0x2d, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x22, 0x20, 0x64, + 0x69, 0x72, 0x3d, 0x22, 0x6c, 0x74, 0x72, 0x4c, 0x69, 0x65, 0x75, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x74, 0x68, 0x65, 0x79, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x6d, 0x61, 0x64, 0x65, 0x20, + 0x75, 0x70, 0x20, 0x6f, 0x66, 0x6e, 0x6f, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, + 0x72, 0x67, 0x75, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x74, 0x6f, 0x20, 0x61, + 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, + 0x6e, 0x27, 0x73, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x20, 0x6f, 0x66, + 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x62, 0x61, 0x73, + 0x65, 0x64, 0x20, 0x75, 0x70, 0x6f, 0x6e, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x6f, + 0x66, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x73, 0x70, 0x6f, + 0x73, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x49, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x74, + 0x68, 0x65, 0x61, 0x66, 0x74, 0x65, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x61, 0x63, 0x72, 0x6f, + 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x73, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x2e, + 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x69, 0x73, 0x6d, 0x69, 0x6e, 0x20, + 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2d, + 0x77, 0x69, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x53, 0x6f, 0x63, 0x69, 0x65, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x70, 0x6f, + 0x6c, 0x69, 0x74, 0x69, 0x63, 0x69, 0x61, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x77, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x6e, 0x20, + 0x74, 0x6f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x20, + 0x4e, 0x65, 0x77, 0x20, 0x59, 0x6f, 0x72, 0x6b, 0x20, 0x61, 0x70, 0x61, 0x72, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, + 0x75, 0x6e, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x68, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x68, 0x61, 0x64, 0x20, 0x62, 0x65, + 0x65, 0x6e, 0x20, 0x61, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x76, + 0x65, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, + 0x74, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x20, 0x66, 0x6f, 0x72, 0x70, 0x72, 0x6f, 0x6d, 0x69, 0x6e, 0x65, 0x6e, + 0x63, 0x65, 0x72, 0x65, 0x61, 0x64, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x62, 0x75, 0x74, 0x20, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x61, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74, + 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x65, + 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x20, 0x74, 0x68, 0x61, 0x74, 0x6c, 0x61, 0x62, + 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, + 0x69, 0x62, 0x6c, 0x65, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x20, 0x6f, + 0x66, 0x2c, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x62, 0x65, + 0x67, 0x61, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x75, 0x73, 0x69, 0x6e, 0x67, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x66, + 0x72, 0x6f, 0x6d, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x2f, 0x22, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x67, 0x65, 0x6f, 0x6c, 0x6f, 0x67, 0x69, + 0x63, 0x61, 0x6c, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x6f, 0x66, + 0x64, 0x65, 0x6c, 0x69, 0x62, 0x65, 0x72, 0x61, 0x74, 0x65, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, + 0x20, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x74, 0x6f, 0x70, 0x74, 0x68, + 0x65, 0x20, 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x6f, 0x75, 0x74, 0x73, 0x69, + 0x64, 0x65, 0x20, 0x6f, 0x66, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, + 0x65, 0x64, 0x68, 0x69, 0x73, 0x20, 0x63, 0x61, 0x72, 0x65, 0x65, 0x72, 0x73, + 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x3d, 0x22, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x77, 0x61, 0x73, 0x20, 0x63, 0x61, 0x6c, + 0x6c, 0x65, 0x64, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x75, 0x72, 0x74, 0x68, + 0x72, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x74, 0x68, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x69, 0x6f, 0x6e, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x65, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x61, 0x63, 0x63, 0x75, 0x72, + 0x61, 0x74, 0x65, 0x6c, 0x79, 0x77, 0x65, 0x72, 0x65, 0x20, 0x62, 0x75, 0x69, + 0x6c, 0x74, 0x77, 0x61, 0x73, 0x20, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x61, + 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x6d, 0x75, 0x63, 0x68, + 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x44, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x20, 0x31, 0x30, 0x30, + 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x4b, 0x69, 0x6e, + 0x67, 0x64, 0x6f, 0x6d, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6e, + 0x74, 0x69, 0x72, 0x65, 0x66, 0x61, 0x6d, 0x6f, 0x75, 0x73, 0x20, 0x66, 0x6f, + 0x72, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x74, 0x68, 0x65, 0x20, 0x46, + 0x72, 0x65, 0x6e, 0x63, 0x68, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x61, + 0x6e, 0x64, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x22, 0x3e, 0x69, + 0x73, 0x20, 0x73, 0x61, 0x69, 0x64, 0x20, 0x74, 0x6f, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x64, 0x75, 0x6d, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x74, 0x65, 0x6e, + 0x61, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x2d, 0x3e, 0x0a, + 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x20, 0x4f, 0x66, 0x66, 0x69, 0x63, + 0x69, 0x61, 0x6c, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x77, 0x69, 0x64, 0x65, + 0x2e, 0x61, 0x72, 0x69, 0x61, 0x2d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x74, 0x68, + 0x65, 0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x61, 0x6e, 0x64, 0x20, 0x69, + 0x74, 0x20, 0x77, 0x61, 0x73, 0x64, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3d, 0x22, 0x6c, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x74, 0x62, + 0x65, 0x6e, 0x65, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x61, 0x72, 0x65, 0x20, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x6c, 0x79, + 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x6e, 0x77, 0x6f, 0x72, + 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x20, 0x74, 0x6f, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x69, 0x6e, 0x6e, 0x6f, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x3c, 0x2f, + 0x61, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x73, 0x6f, 0x75, 0x6e, 0x64, + 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, + 0x72, 0x6d, 0x74, 0x65, 0x6e, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6f, 0x70, 0x65, 0x6e, + 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, + 0x74, 0x65, 0x64, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x74, 0x68, 0x65, + 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x61, 0x6e, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x73, 0x20, 0x6f, 0x66, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x20, 0x6f, + 0x66, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x69, 0x61, 0x6e, 0x20, 0x76, 0x65, + 0x72, 0x79, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x6f, 0x74, 0x69, 0x76, 0x65, 0x62, 0x79, 0x20, 0x66, 0x61, 0x72, 0x20, 0x74, + 0x68, 0x65, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x70, + 0x75, 0x72, 0x73, 0x75, 0x69, 0x74, 0x20, 0x6f, 0x66, 0x66, 0x6f, 0x6c, 0x6c, + 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, 0x62, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x74, + 0x20, 0x74, 0x6f, 0x69, 0x6e, 0x20, 0x45, 0x6e, 0x67, 0x6c, 0x61, 0x6e, 0x64, + 0x61, 0x67, 0x72, 0x65, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x63, 0x63, + 0x75, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6e, + 0x67, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x68, 0x69, + 0x73, 0x20, 0x6f, 0x72, 0x20, 0x68, 0x65, 0x72, 0x74, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x64, 0x6f, 0x75, 0x73, 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x20, + 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x30, + 0x20, 0x31, 0x65, 0x6d, 0x20, 0x31, 0x65, 0x6d, 0x3b, 0x42, 0x61, 0x73, 0x6b, + 0x65, 0x74, 0x62, 0x61, 0x6c, 0x6c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, + 0x63, 0x73, 0x73, 0x61, 0x6e, 0x20, 0x65, 0x61, 0x72, 0x6c, 0x69, 0x65, 0x72, + 0x65, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x2f, 0x22, 0x20, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3d, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, + 0x65, 0x70, 0x69, 0x74, 0x74, 0x73, 0x62, 0x75, 0x72, 0x67, 0x68, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x3e, 0x0d, 0x3c, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x3e, 0x28, 0x66, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x6f, + 0x75, 0x74, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x3c, + 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x0d, 0x0a, 0x20, 0x6f, 0x63, 0x63, 0x61, + 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, + 0x20, 0x69, 0x74, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x3e, 0x3c, 0x2f, + 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x20, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x62, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, + 0x2c, 0x20, 0x62, 0x67, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3d, 0x22, 0x74, 0x61, + 0x62, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x61, 0x73, + 0x74, 0x72, 0x6f, 0x75, 0x73, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x68, 0x61, 0x73, 0x20, 0x61, 0x3e, + 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x3c, 0x2f, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3e, 0x0a, 0x3c, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x20, + 0x66, 0x6f, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, + 0x2e, 0x73, 0x72, 0x63, 0x20, 0x3d, 0x20, 0x22, 0x2f, 0x2f, 0x76, 0x69, 0x6f, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x68, 0x69, 0x73, 0x20, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x6c, + 0x79, 0x69, 0x73, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x72, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x64, 0x20, 0x66, 0x72, 0x6f, + 0x6d, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x65, 0x64, 0x65, 0x72, 0x6c, 0x61, 0x6e, + 0x64, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x67, 0x75, 0xc3, 0xaa, 0x73, 0xd7, + 0xa2, 0xd7, 0x91, 0xd7, 0xa8, 0xd7, 0x99, 0xd7, 0xaa, 0xd9, 0x81, 0xd8, 0xa7, + 0xd8, 0xb1, 0xd8, 0xb3, 0xdb, 0x8c, 0x64, 0x65, 0x73, 0x61, 0x72, 0x72, 0x6f, + 0x6c, 0x6c, 0x6f, 0x63, 0x6f, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x69, 0x6f, + 0x65, 0x64, 0x75, 0x63, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x73, 0x65, 0x70, + 0x74, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x61, 0x64, 0x6f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x63, 0x69, 0xc3, 0xb3, + 0x6e, 0x75, 0x62, 0x69, 0x63, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x69, 0x64, 0x61, 0x64, 0x72, 0x65, 0x73, 0x70, 0x75, + 0x65, 0x73, 0x74, 0x61, 0x73, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x61, 0x64, + 0x6f, 0x73, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x65, 0x72, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x64, 0x6f, 0x73, 0x61, 0x72, 0x74, 0xc3, + 0xad, 0x63, 0x75, 0x6c, 0x6f, 0x73, 0x64, 0x69, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x74, 0x65, 0x73, 0x73, 0x69, 0x67, 0x75, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x73, + 0x72, 0x65, 0x70, 0xc3, 0xba, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x69, 0x74, + 0x75, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x69, 0x6f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x69, 0x64, 0x61, + 0x64, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x6f, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x70, 0x6f, 0x62, 0x6c, 0x61, + 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x70, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x69, 0x64, 0x6f, 0x73, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x6f, 0x72, 0x69, 0x6f, 0x73, 0x74, 0x65, 0x63, 0x68, + 0x6e, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, + 0x6c, 0x65, 0x73, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0xc3, 0xad, 0x61, + 0x65, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x65, 0x73, 0x64, 0x69, 0x73, + 0x70, 0x6f, 0x6e, 0x69, 0x62, 0x6c, 0x65, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x64, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x69, + 0x61, 0x76, 0x61, 0x6c, 0x6c, 0x61, 0x64, 0x6f, 0x6c, 0x69, 0x64, 0x62, 0x69, + 0x62, 0x6c, 0x69, 0x6f, 0x74, 0x65, 0x63, 0x61, 0x72, 0x65, 0x6c, 0x61, 0x63, + 0x69, 0x6f, 0x6e, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, + 0x69, 0x6f, 0x70, 0x6f, 0x6c, 0xc3, 0xad, 0x74, 0x69, 0x63, 0x61, 0x73, 0x61, + 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x72, 0x65, 0x73, 0x64, 0x6f, 0x63, 0x75, + 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x73, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, + 0x65, 0x7a, 0x61, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x65, 0x73, + 0x64, 0x69, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x69, 0x61, 0x65, 0x63, 0x6f, + 0x6e, 0xc3, 0xb3, 0x6d, 0x69, 0x63, 0x61, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x6f, 0x64, 0x72, 0xc3, 0xad, 0x67, 0x75, 0x65, + 0x7a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x63, 0x75, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x64, 0x69, 0x73, 0x63, 0x75, + 0x73, 0x69, 0xc3, 0xb3, 0x6e, 0x65, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, + 0x72, 0x61, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x66, + 0x72, 0x65, 0x63, 0x75, 0x65, 0x6e, 0x74, 0x65, 0x73, 0x70, 0x65, 0x72, 0x6d, + 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x65, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x6d, 0x65, + 0x6e, 0x74, 0x65, 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xb6, 0xd0, 0xbd, 0xd0, 0xbe, + 0xd0, 0xb1, 0xd1, 0x83, 0xd0, 0xb4, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xbc, 0xd0, + 0xbe, 0xd0, 0xb6, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb2, 0xd1, 0x80, 0xd0, 0xb5, + 0xd0, 0xbc, 0xd1, 0x8f, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xb6, 0xd0, + 0xb5, 0xd1, 0x87, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb1, 0xd1, 0x8b, 0xd0, 0xb1, + 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xb5, 0xd0, 0xbe, 0xd1, 0x87, 0xd0, + 0xb5, 0xd0, 0xbd, 0xd1, 0x8c, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb3, + 0xd0, 0xbe, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xb4, 0xd0, 0xb0, 0xd0, + 0xbf, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xb2, 0xd1, 0x81, + 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xb0, 0xd0, 0xb9, 0xd1, + 0x82, 0xd0, 0xb5, 0xd1, 0x87, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb5, 0xd0, 0xb7, + 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xb3, 0xd1, 0x83, 0xd1, 0x82, 0xd1, 0x81, 0xd0, + 0xb0, 0xd0, 0xb9, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xb6, 0xd0, 0xb8, 0xd0, 0xb7, + 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, 0xb6, 0xd0, 0xb4, 0xd1, + 0x83, 0xd0, 0xb1, 0xd1, 0x83, 0xd0, 0xb4, 0xd1, 0x83, 0xd1, 0x82, 0xd0, 0x9f, + 0xd0, 0xbe, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb7, 0xd0, 0xb4, 0xd0, + 0xb5, 0xd1, 0x81, 0xd1, 0x8c, 0xd0, 0xb2, 0xd0, 0xb8, 0xd0, 0xb4, 0xd0, 0xb5, + 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xb2, 0xd1, 0x8f, 0xd0, 0xb7, 0xd0, 0xb8, 0xd0, + 0xbd, 0xd1, 0x83, 0xd0, 0xb6, 0xd0, 0xbd, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xb2, + 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xb9, 0xd0, 0xbb, 0xd1, 0x8e, 0xd0, 0xb4, 0xd0, + 0xb5, 0xd0, 0xb9, 0xd0, 0xbf, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbd, 0xd0, 0xbe, + 0xd0, 0xbc, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, + 0xb5, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xb9, 0xd1, 0x81, 0xd0, 0xb2, 0xd0, 0xbe, + 0xd0, 0xb8, 0xd1, 0x85, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb2, 0xd0, + 0xb0, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xb9, 0xd0, 0xbc, + 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, + 0xb5, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb6, 0xd0, 0xb8, 0xd0, 0xb7, 0xd0, 0xbd, + 0xd1, 0x8c, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb9, 0xd0, + 0xbb, 0xd1, 0x83, 0xd1, 0x87, 0xd1, 0x88, 0xd0, 0xb5, 0xd0, 0xbf, 0xd0, 0xb5, + 0xd1, 0x80, 0xd0, 0xb5, 0xd0, 0xb4, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x81, 0xd1, + 0x82, 0xd0, 0xb8, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x8c, + 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb1, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xbd, 0xd0, + 0xbe, 0xd0, 0xb2, 0xd1, 0x8b, 0xd1, 0x85, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xb0, + 0xd0, 0xb2, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xb1, 0xd0, 0xbe, 0xd0, + 0xb9, 0xd0, 0xbf, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xbc, + 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xb5, 0xd1, 0x87, 0xd0, 0xb8, 0xd1, + 0x81, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb2, 0xd1, 0x8b, + 0xd0, 0xb5, 0xd1, 0x83, 0xd1, 0x81, 0xd0, 0xbb, 0xd1, 0x83, 0xd0, 0xb3, 0xd0, + 0xbe, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, 0xb0, + 0xd0, 0xb7, 0xd0, 0xb0, 0xd0, 0xb4, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, + 0xbe, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xb4, 0xd0, 0xb0, + 0xd0, 0xbf, 0xd0, 0xbe, 0xd1, 0x87, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0x9f, 0xd0, + 0xbe, 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xba, + 0xd0, 0xb8, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb2, 0xd1, 0x8b, 0xd0, + 0xb9, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb8, 0xd1, 0x82, 0xd1, 0x82, + 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xb8, 0xd1, 0x85, 0xd1, 0x81, 0xd1, 0x80, 0xd0, + 0xb0, 0xd0, 0xb7, 0xd1, 0x83, 0xd0, 0xa1, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xba, + 0xd1, 0x82, 0xd1, 0x84, 0xd0, 0xbe, 0xd1, 0x80, 0xd1, 0x83, 0xd0, 0xbc, 0xd0, + 0x9a, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xb4, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xbd, + 0xd0, 0xb8, 0xd0, 0xb3, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, + 0xb2, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x88, 0xd0, 0xb5, 0xd0, 0xb9, + 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xb9, 0xd1, 0x82, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, + 0xb2, 0xd0, 0xbe, 0xd0, 0xb8, 0xd0, 0xbc, 0xd1, 0x81, 0xd0, 0xb2, 0xd1, 0x8f, + 0xd0, 0xb7, 0xd1, 0x8c, 0xd0, 0xbb, 0xd1, 0x8e, 0xd0, 0xb1, 0xd0, 0xbe, 0xd0, + 0xb9, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x81, + 0xd1, 0x80, 0xd0, 0xb5, 0xd0, 0xb4, 0xd0, 0xb8, 0xd0, 0x9a, 0xd1, 0x80, 0xd0, + 0xbe, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, 0xa4, 0xd0, 0xbe, 0xd1, 0x80, 0xd1, 0x83, + 0xd0, 0xbc, 0xd1, 0x80, 0xd1, 0x8b, 0xd0, 0xbd, 0xd0, 0xba, 0xd0, 0xb5, 0xd1, + 0x81, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xbb, 0xd0, 0xb8, 0xd0, 0xbf, 0xd0, 0xbe, + 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xba, 0xd1, 0x82, 0xd1, 0x8b, 0xd1, 0x81, 0xd1, + 0x8f, 0xd1, 0x87, 0xd0, 0xbc, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x8f, 0xd1, 0x86, + 0xd1, 0x86, 0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x82, 0xd1, 0x80, 0xd1, 0x82, 0xd1, + 0x80, 0xd1, 0x83, 0xd0, 0xb4, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xb0, 0xd0, 0xbc, + 0xd1, 0x8b, 0xd1, 0x85, 0xd1, 0x80, 0xd1, 0x8b, 0xd0, 0xbd, 0xd0, 0xba, 0xd0, + 0xb0, 0xd0, 0x9d, 0xd0, 0xbe, 0xd0, 0xb2, 0xd1, 0x8b, 0xd0, 0xb9, 0xd1, 0x87, + 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xbc, 0xd0, 0xb5, 0xd1, + 0x81, 0xd1, 0x82, 0xd0, 0xb0, 0xd1, 0x84, 0xd0, 0xb8, 0xd0, 0xbb, 0xd1, 0x8c, + 0xd0, 0xbc, 0xd0, 0xbc, 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x82, 0xd0, 0xb0, 0xd1, + 0x81, 0xd1, 0x82, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xbc, 0xd0, 0xb5, + 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xba, 0xd1, + 0x81, 0xd1, 0x82, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x88, 0xd0, 0xb8, 0xd1, 0x85, + 0xd0, 0xbc, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1, 0x83, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, + 0xbc, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, 0xb5, + 0xd1, 0x8e, 0xd1, 0x82, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xb5, 0xd1, + 0x80, 0xd0, 0xb3, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb4, 0xd1, 0x81, + 0xd0, 0xb0, 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xbc, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, + 0xbe, 0xd0, 0xbc, 0xd1, 0x83, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xbd, 0xd1, 0x86, + 0xd0, 0xb5, 0xd1, 0x81, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, + 0xba, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xb9, 0xd0, 0x90, 0xd1, 0x80, + 0xd1, 0x85, 0xd0, 0xb8, 0xd0, 0xb2, 0xd9, 0x85, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, + 0xaf, 0xd9, 0x89, 0xd8, 0xa5, 0xd8, 0xb1, 0xd8, 0xb3, 0xd8, 0xa7, 0xd9, 0x84, + 0xd8, 0xb1, 0xd8, 0xb3, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x85, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, 0xa8, + 0xd9, 0x87, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, + 0xac, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x88, 0xd9, 0x85, 0xd8, 0xa7, + 0xd9, 0x84, 0xd8, 0xb5, 0xd9, 0x88, 0xd8, 0xb1, 0xd8, 0xac, 0xd8, 0xaf, 0xd9, + 0x8a, 0xd8, 0xaf, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xb6, + 0xd9, 0x88, 0xd8, 0xa5, 0xd8, 0xb6, 0xd8, 0xa7, 0xd9, 0x81, 0xd8, 0xa9, 0xd8, + 0xa7, 0xd9, 0x84, 0xd9, 0x82, 0xd8, 0xb3, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, + 0xd8, 0xb9, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xaa, 0xd8, 0xad, 0xd9, 0x85, 0xd9, + 0x8a, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x84, 0xd9, 0x81, 0xd8, 0xa7, 0xd8, 0xaa, + 0xd9, 0x85, 0xd9, 0x84, 0xd8, 0xaa, 0xd9, 0x82, 0xd9, 0x89, 0xd8, 0xaa, 0xd8, + 0xb9, 0xd8, 0xaf, 0xd9, 0x8a, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb4, + 0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xa3, 0xd8, 0xae, 0xd8, 0xa8, 0xd8, 0xa7, 0xd8, + 0xb1, 0xd8, 0xaa, 0xd8, 0xb7, 0xd9, 0x88, 0xd9, 0x8a, 0xd8, 0xb1, 0xd8, 0xb9, + 0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x83, 0xd9, 0x85, 0xd8, 0xa5, 0xd8, 0xb1, 0xd9, + 0x81, 0xd8, 0xa7, 0xd9, 0x82, 0xd8, 0xb7, 0xd9, 0x84, 0xd8, 0xa8, 0xd8, 0xa7, + 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x84, 0xd8, 0xba, 0xd8, 0xa9, 0xd8, + 0xaa, 0xd8, 0xb1, 0xd8, 0xaa, 0xd9, 0x8a, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, + 0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xb3, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb4, 0xd9, + 0x8a, 0xd8, 0xae, 0xd9, 0x85, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xaf, 0xd9, 0x8a, + 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, + 0x84, 0xd9, 0x82, 0xd8, 0xb5, 0xd8, 0xb5, 0xd8, 0xa7, 0xd9, 0x81, 0xd9, 0x84, + 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x87, 0xd8, + 0xa7, 0xd8, 0xaa, 0xd8, 0xad, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xab, 0xd8, 0xa7, + 0xd9, 0x84, 0xd9, 0x84, 0xd9, 0x87, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, + 0xb9, 0xd9, 0x85, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, 0xa8, + 0xd8, 0xa9, 0xd9, 0x8a, 0xd9, 0x85, 0xd9, 0x83, 0xd9, 0x86, 0xd9, 0x83, 0xd8, + 0xa7, 0xd9, 0x84, 0xd8, 0xb7, 0xd9, 0x81, 0xd9, 0x84, 0xd9, 0x81, 0xd9, 0x8a, + 0xd8, 0xaf, 0xd9, 0x8a, 0xd9, 0x88, 0xd8, 0xa5, 0xd8, 0xaf, 0xd8, 0xa7, 0xd8, + 0xb1, 0xd8, 0xa9, 0xd8, 0xaa, 0xd8, 0xa7, 0xd8, 0xb1, 0xd9, 0x8a, 0xd8, 0xae, + 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb5, 0xd8, 0xad, 0xd8, 0xa9, 0xd8, 0xaa, 0xd8, + 0xb3, 0xd8, 0xac, 0xd9, 0x8a, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x88, + 0xd9, 0x82, 0xd8, 0xaa, 0xd8, 0xb9, 0xd9, 0x86, 0xd8, 0xaf, 0xd9, 0x85, 0xd8, + 0xa7, 0xd9, 0x85, 0xd8, 0xaf, 0xd9, 0x8a, 0xd9, 0x86, 0xd8, 0xa9, 0xd8, 0xaa, + 0xd8, 0xb5, 0xd9, 0x85, 0xd9, 0x8a, 0xd9, 0x85, 0xd8, 0xa3, 0xd8, 0xb1, 0xd8, + 0xb4, 0xd9, 0x8a, 0xd9, 0x81, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb0, 0xd9, 0x8a, + 0xd9, 0x86, 0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xa8, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, + 0xa8, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xa9, 0xd8, 0xa3, 0xd9, 0x84, + 0xd8, 0xb9, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb3, 0xd9, + 0x81, 0xd8, 0xb1, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7, 0xd9, 0x83, 0xd9, 0x84, + 0xd8, 0xaa, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x89, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xa3, 0xd9, 0x88, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb3, + 0xd9, 0x86, 0xd8, 0xa9, 0xd8, 0xac, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xb9, 0xd8, + 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb5, 0xd8, 0xad, 0xd9, 0x81, 0xd8, 0xa7, + 0xd9, 0x84, 0xd8, 0xaf, 0xd9, 0x8a, 0xd9, 0x86, 0xd9, 0x83, 0xd9, 0x84, 0xd9, + 0x85, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xae, 0xd8, 0xa7, + 0xd8, 0xb5, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x84, 0xd9, 0x81, 0xd8, + 0xa3, 0xd8, 0xb9, 0xd8, 0xb6, 0xd8, 0xa7, 0xd8, 0xa1, 0xd9, 0x83, 0xd8, 0xaa, + 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xae, 0xd9, + 0x8a, 0xd8, 0xb1, 0xd8, 0xb1, 0xd8, 0xb3, 0xd8, 0xa7, 0xd8, 0xa6, 0xd9, 0x84, + 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x82, 0xd9, 0x84, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xa3, 0xd8, 0xaf, 0xd8, 0xa8, 0xd9, 0x85, 0xd9, 0x82, 0xd8, 0xa7, + 0xd8, 0xb7, 0xd8, 0xb9, 0xd9, 0x85, 0xd8, 0xb1, 0xd8, 0xa7, 0xd8, 0xb3, 0xd9, + 0x84, 0xd9, 0x85, 0xd9, 0x86, 0xd8, 0xb7, 0xd9, 0x82, 0xd8, 0xa9, 0xd8, 0xa7, + 0xd9, 0x84, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, + 0xb1, 0xd8, 0xac, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, 0xb4, 0xd8, 0xaa, 0xd8, 0xb1, + 0xd9, 0x83, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x82, 0xd8, 0xaf, 0xd9, 0x85, 0xd9, + 0x8a, 0xd8, 0xb9, 0xd8, 0xb7, 0xd9, 0x8a, 0xd9, 0x83, 0x73, 0x42, 0x79, 0x54, + 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x28, 0x2e, 0x6a, 0x70, 0x67, 0x22, 0x20, + 0x61, 0x6c, 0x74, 0x3d, 0x22, 0x31, 0x70, 0x78, 0x20, 0x73, 0x6f, 0x6c, 0x69, + 0x64, 0x20, 0x23, 0x2e, 0x67, 0x69, 0x66, 0x22, 0x20, 0x61, 0x6c, 0x74, 0x3d, + 0x22, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x6f, 0x6e, 0x63, + 0x6c, 0x69, 0x63, 0x6b, 0x3d, 0x22, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x65, 0x64, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x69, + 0x6e, 0x67, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x22, + 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x70, 0x65, + 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x61, 0x70, 0x70, 0x72, + 0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, 0x65, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x6d, + 0x64, 0x61, 0x73, 0x68, 0x3b, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, + 0x65, 0x6c, 0x79, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x3e, 0x3c, + 0x2f, 0x72, 0x61, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x74, + 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x65, 0x76, + 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6d, 0x70, 0x65, + 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, + 0x6c, 0x64, 0x65, 0x72, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x3a, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x3e, + 0x30, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x65, 0x76, + 0x65, 0x6e, 0x20, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x72, 0x65, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x3c, 0x75, 0x6c, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, + 0x22, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69, + 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x73, 0x70, 0x65, 0x72, + 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x65, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x28, 0x75, 0x72, 0x6c, 0x28, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x69, + 0x63, 0x73, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x74, 0x6f, 0x70, 0x3a, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x20, 0x6e, 0x6f, + 0x2d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4a, 0x50, 0x47, 0x7c, 0x74, 0x68, 0x75, + 0x6d, 0x62, 0x7c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, + 0x65, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x3c, 0x6c, 0x69, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x68, 0x75, 0x6e, 0x64, 0x72, + 0x65, 0x64, 0x73, 0x20, 0x6f, 0x66, 0x0a, 0x0a, 0x48, 0x6f, 0x77, 0x65, 0x76, + 0x65, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x3a, 0x62, 0x6f, 0x74, 0x68, 0x3b, + 0x63, 0x6f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x77, 0x69, + 0x74, 0x68, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x20, 0x66, 0x6f, 0x72, 0x3d, 0x22, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x2d, 0x74, 0x6f, 0x70, 0x3a, 0x4e, 0x65, 0x77, 0x20, 0x5a, 0x65, 0x61, 0x6c, + 0x61, 0x6e, 0x64, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, + 0x64, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x79, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x26, 0x6c, 0x74, + 0x3b, 0x73, 0x75, 0x70, 0x26, 0x67, 0x74, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x76, 0x65, 0x72, 0x73, 0x79, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6c, + 0x61, 0x6e, 0x64, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x6d, 0x61, 0x78, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x3d, 0x22, + 0x73, 0x77, 0x69, 0x74, 0x7a, 0x65, 0x72, 0x6c, 0x61, 0x6e, 0x64, 0x44, 0x65, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x73, 0x73, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x0a, 0x0a, 0x41, 0x6c, 0x74, 0x68, + 0x6f, 0x75, 0x67, 0x68, 0x20, 0x3c, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x61, 0x72, + 0x65, 0x61, 0x3e, 0x74, 0x68, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x62, 0x69, 0x72, + 0x64, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x26, + 0x61, 0x6d, 0x70, 0x3b, 0x6e, 0x64, 0x61, 0x73, 0x68, 0x3b, 0x73, 0x70, 0x65, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x75, + 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x6c, 0x65, 0x67, 0x69, 0x73, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x6f, 0x6e, 0x69, + 0x63, 0x73, 0x0a, 0x09, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, + 0x69, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x74, 0x65, 0x72, 0x72, + 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x64, 0x36, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, + 0x22, 0x73, 0x61, 0x6e, 0x73, 0x2d, 0x73, 0x65, 0x72, 0x69, 0x66, 0x3b, 0x63, + 0x61, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x64, 0x69, 0x73, + 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x65, 0x64, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, + 0x20, 0x66, 0x6f, 0x72, 0x69, 0x74, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, + 0x62, 0x65, 0x41, 0x66, 0x67, 0x68, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x77, 0x61, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x61, + 0x74, 0x68, 0x2e, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x73, 0x75, 0x72, 0x72, + 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x63, 0x61, 0x6e, 0x20, 0x61, 0x6c, + 0x73, 0x6f, 0x20, 0x62, 0x65, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, + 0x65, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x64, 0x3c, + 0x68, 0x32, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x6f, 0x72, + 0x65, 0x20, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x20, 0x68, 0x61, + 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x69, 0x6e, 0x76, 0x61, 0x73, 0x69, 0x6f, + 0x6e, 0x20, 0x6f, 0x66, 0x29, 0x2e, 0x67, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x28, 0x29, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, + 0x44, 0x65, 0x73, 0x70, 0x69, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x22, 0x3e, + 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x69, 0x6e, 0x73, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x78, 0x61, 0x6d, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x3c, + 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x73, 0x74, 0x72, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x20, 0x3d, 0x20, 0x27, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x20, 0x2e, 0x73, + 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x65, 0x61, 0x63, 0x68, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x6d, 0x61, 0x6e, 0x79, 0x20, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x64, + 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d, + 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x6f, 0x20, 0x6e, 0x6f, + 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x20, + 0x45, 0x61, 0x73, 0x74, 0x3c, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x3e, 0x3c, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x20, + 0x70, 0x65, 0x72, 0x68, 0x61, 0x70, 0x73, 0x20, 0x74, 0x68, 0x65, 0x69, 0x6e, + 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x20, 0x44, + 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x61, 0x72, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x66, 0x61, 0x6d, + 0x6f, 0x75, 0x73, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x73, 0x6f, 0x76, 0x65, 0x72, + 0x65, 0x69, 0x67, 0x6e, 0x74, 0x79, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x22, 0x3e, 0x0a, 0x3c, 0x74, 0x64, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x20, 0x74, 0x6f, 0x64, 0x6f, + 0x63, 0x74, 0x72, 0x69, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x6f, 0x63, 0x63, 0x75, + 0x70, 0x69, 0x65, 0x64, 0x20, 0x62, 0x79, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x52, 0x65, 0x6e, 0x61, 0x69, 0x73, 0x73, 0x61, + 0x6e, 0x63, 0x65, 0x61, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, + 0x66, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x65, + 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x63, + 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x72, 0x65, 0x64, 0x65, + 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x73, 0x72, + 0x63, 0x3d, 0x22, 0x2f, 0x3c, 0x68, 0x31, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x6d, 0x61, 0x79, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x62, 0x65, 0x73, 0x70, + 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x3c, 0x2f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x65, 0x74, 0x3e, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x76, 0x65, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x73, + 0x20, 0x6f, 0x66, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x6e, 0x65, + 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x61, 0x67, 0x72, 0x69, 0x63, 0x75, 0x6c, + 0x74, 0x75, 0x72, 0x65, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x72, 0x65, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x72, 0x73, + 0x74, 0x6f, 0x77, 0x61, 0x72, 0x64, 0x73, 0x20, 0x74, 0x68, 0x65, 0x4d, 0x6f, + 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x61, 0x6e, 0x79, + 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x28, 0x65, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x3c, 0x74, 0x64, 0x20, 0x77, 0x69, 0x64, 0x74, + 0x68, 0x3d, 0x22, 0x3b, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x31, 0x30, 0x30, + 0x25, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x3c, + 0x68, 0x33, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x20, 0x6f, 0x6e, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x3d, 0x22, 0x29, 0x2e, 0x61, 0x64, 0x64, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x28, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x64, 0x61, 0x75, 0x67, 0x68, 0x74, 0x65, 0x72, 0x20, 0x6f, 0x66, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x62, 0x72, + 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x0d, 0x0a, 0x3c, 0x64, + 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, + 0x72, 0x67, 0x65, 0x73, 0x74, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x20, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x3c, 0x68, 0x65, 0x61, + 0x64, 0x3e, 0x0a, 0x3c, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, + 0x22, 0x31, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x3b, + 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x69, 0x6d, 0x70, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, + 0x20, 0x73, 0x65, 0x65, 0x6e, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, + 0x73, 0x20, 0x61, 0x64, 0x65, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0x3e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x68, 0x65, + 0x20, 0x42, 0x72, 0x69, 0x74, 0x69, 0x73, 0x68, 0x77, 0x61, 0x73, 0x20, 0x77, + 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x21, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x61, 0x6e, 0x74, 0x3b, 0x70, 0x78, 0x3b, 0x20, 0x6d, 0x61, 0x72, 0x67, 0x69, + 0x6e, 0x2d, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x64, 0x75, 0x72, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6d, 0x6d, 0x69, 0x67, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x63, 0x61, 0x6c, + 0x6c, 0x65, 0x64, 0x3c, 0x68, 0x34, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, + 0x22, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x72, + 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x20, 0x62, 0x79, 0x67, 0x6f, 0x76, + 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x20, 0x4e, 0x6f, 0x76, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, + 0x68, 0x65, 0x3c, 0x2f, 0x70, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, + 0x61, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x61, + 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x65, 0x72, 0x73, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7b, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69, + 0x7a, 0x65, 0x3a, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x65, 0x64, 0x20, 0x69, + 0x6e, 0x69, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x65, 0x65, + 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x6d, 0x6f, 0x73, + 0x74, 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x79, 0x77, 0x69, 0x64, 0x65, 0x6c, + 0x79, 0x20, 0x75, 0x73, 0x65, 0x64, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x20, + 0x6f, 0x66, 0x20, 0x28, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x49, 0x74, + 0x20, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x69, 0x74, 0x20, 0x64, + 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x72, 0x79, 0x20, 0x74, 0x6f, 0x69, 0x6e, 0x68, 0x61, 0x62, 0x69, 0x74, 0x61, + 0x6e, 0x74, 0x73, 0x69, 0x6d, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x63, 0x68, 0x6f, 0x6c, 0x61, 0x72, 0x73, 0x68, 0x69, 0x70, 0x63, + 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x20, 0x65, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x20, + 0x6d, 0x6f, 0x72, 0x65, 0x70, 0x78, 0x3b, 0x20, 0x70, 0x61, 0x64, 0x64, 0x69, + 0x6e, 0x67, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x61, 0x20, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x61, 0x72, + 0x65, 0x20, 0x75, 0x73, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x72, 0x6f, 0x6c, 0x65, + 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, + 0x75, 0x73, 0x6c, 0x79, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x73, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x6f, + 0x66, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x63, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x64, + 0x69, 0x76, 0x3e, 0x0a, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x3d, 0x22, 0x68, 0x69, 0x67, 0x68, 0x20, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x74, 0x6f, 0x63, 0x6f, + 0x6d, 0x66, 0x6f, 0x72, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x64, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x72, 0x65, 0x65, 0x20, + 0x79, 0x65, 0x61, 0x72, 0x73, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x72, 0x79, 0x69, 0x6e, 0x20, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, + 0x79, 0x73, 0x6f, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x70, + 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x77, 0x68, 0x6f, 0x20, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x62, 0x79, 0x3c, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x20, 0x62, 0x79, 0x69, 0x6e, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x20, + 0x6f, 0x66, 0x61, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x53, 0x4f, 0x2d, 0x38, 0x38, 0x35, 0x39, 0x2d, 0x31, 0x22, 0x77, 0x61, + 0x73, 0x20, 0x62, 0x6f, 0x72, 0x6e, 0x20, 0x69, 0x6e, 0x68, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, + 0x65, 0x64, 0x20, 0x61, 0x73, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x69, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, + 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x3a, + 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x69, 0x67, + 0x6e, 0x69, 0x66, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x63, 0x65, 0x6c, 0x65, 0x62, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x64, 0x2f, 0x6a, 0x73, 0x2f, 0x6a, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x69, 0x73, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73, + 0x74, 0x68, 0x65, 0x6f, 0x72, 0x65, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x74, + 0x61, 0x62, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3d, 0x22, 0x69, 0x74, 0x20, 0x63, + 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x3c, 0x6e, 0x6f, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x62, + 0x65, 0x65, 0x6e, 0x0d, 0x0a, 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0d, 0x0a, + 0x3c, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x54, 0x68, 0x65, 0x20, 0x63, + 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x68, 0x65, 0x20, + 0x68, 0x61, 0x64, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x65, 0x64, 0x20, 0x62, 0x79, 0x70, 0x68, 0x69, 0x6c, 0x6f, 0x73, 0x6f, + 0x70, 0x68, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x65, 0x64, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x61, 0x6d, 0x6f, 0x6e, 0x67, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x74, 0x6f, 0x20, 0x73, + 0x61, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x74, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, + 0x6f, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x62, + 0x65, 0x6c, 0x69, 0x65, 0x66, 0x20, 0x74, 0x68, 0x61, 0x74, 0x70, 0x68, 0x6f, + 0x74, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x20, 0x6f, 0x66, 0x20, 0x52, 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, + 0x6f, 0x66, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x69, 0x6c, 0x79, + 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x74, 0x65, + 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x6c, 0x65, 0x61, 0x76, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, + 0x63, 0x75, 0x6c, 0x61, 0x72, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x6f, 0x66, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x69, 0x63, 0x69, 0x74, + 0x79, 0x68, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x72, + 0x65, 0x73, 0x74, 0x61, 0x75, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x70, 0x61, 0x72, + 0x74, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x65, 0x6d, 0x70, 0x68, 0x61, + 0x73, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x72, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x73, 0x68, 0x61, 0x72, 0x65, 0x20, 0x77, 0x69, 0x74, + 0x68, 0x20, 0x73, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x64, 0x65, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x69, 0x74, 0x20, 0x69, + 0x73, 0x20, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x22, 0x3e, 0x3c, 0x2f, 0x69, 0x66, + 0x72, 0x61, 0x6d, 0x65, 0x3e, 0x61, 0x73, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, + 0x77, 0x73, 0x3a, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, + 0x68, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x74, 0x68, 0x65, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x72, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x6f, 0x70, 0x70, 0x6f, 0x72, + 0x74, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x76, 0x69, 0x65, 0x77, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x73, 0x65, 0x74, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x70, + 0x61, 0x6e, 0x3e, 0x3c, 0x2f, 0x69, 0x6e, 0x20, 0x4e, 0x65, 0x77, 0x20, 0x59, + 0x6f, 0x72, 0x6b, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0a, + 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x69, 0x6e, 0x63, + 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x3b, 0x3c, 0x2f, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, 0x22, 0x5f, + 0x63, 0x61, 0x72, 0x72, 0x69, 0x65, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x53, 0x6f, + 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x63, 0x69, 0x65, + 0x6e, 0x63, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, + 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x22, 0x3e, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, + 0x67, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x68, 0x65, 0x72, 0x4d, + 0x75, 0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x77, 0x72, 0x69, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x20, 0x6f, 0x66, 0x22, 0x20, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x3d, 0x22, 0x32, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, + 0x66, 0x20, 0x6d, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x45, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x65, 0x64, 0x75, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x74, + 0x69, 0x74, 0x69, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x73, 0x75, 0x62, 0x6d, 0x69, + 0x74, 0x3d, 0x22, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, + 0x66, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2f, + 0x44, 0x54, 0x44, 0x20, 0x58, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x74, 0x65, 0x6e, 0x64, 0x65, + 0x6e, 0x63, 0x79, 0x20, 0x74, 0x6f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, + 0x65, 0x20, 0x6f, 0x66, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x77, 0x6f, 0x75, + 0x6c, 0x64, 0x64, 0x65, 0x73, 0x70, 0x69, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x73, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x20, 0x6c, 0x65, + 0x67, 0x69, 0x73, 0x6c, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x69, 0x6e, 0x6e, + 0x65, 0x72, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x61, 0x6c, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x41, 0x67, 0x72, 0x69, 0x63, 0x75, 0x6c, 0x74, + 0x75, 0x72, 0x65, 0x77, 0x61, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, + 0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x61, 0x63, 0x68, 0x20, 0x74, 0x6f, 0x69, + 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x74, 0x79, 0x65, 0x61, + 0x72, 0x73, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x2c, 0x73, 0x61, 0x6e, 0x73, + 0x2d, 0x73, 0x65, 0x72, 0x69, 0x66, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, + 0x63, 0x65, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x66, 0x6f, + 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x62, 0x62, 0x72, + 0x65, 0x76, 0x69, 0x61, 0x74, 0x65, 0x64, 0x68, 0x69, 0x67, 0x68, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, + 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x66, 0x73, + 0x75, 0x70, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x63, 0x6c, 0x61, + 0x69, 0x6d, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69, + 0x7a, 0x65, 0x3a, 0x31, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, + 0x6f, 0x66, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x20, + 0x68, 0x69, 0x73, 0x20, 0x62, 0x72, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x61, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x61, 0x6e, 0x6e, 0x69, + 0x76, 0x65, 0x72, 0x73, 0x61, 0x72, 0x79, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x20, 0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x6c, 0x79, + 0x20, 0x69, 0x6e, 0x6e, 0x6f, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x69, + 0x74, 0x20, 0x69, 0x73, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x63, 0x61, 0x6e, + 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x62, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x6f, 0x47, 0x4d, 0x54, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x41, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, + 0x6f, 0x66, 0x69, 0x6d, 0x67, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x2c, 0x77, 0x61, + 0x73, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x6f, 0x63, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x75, + 0x69, 0x73, 0x68, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x68, 0x65, 0x20, 0x77, 0x61, + 0x73, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x69, 0x6e, 0x67, 0x74, + 0x65, 0x72, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x4d, 0x61, 0x6e, + 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x72, 0x67, 0x75, 0x65, + 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x6e, 0x20, 0x41, 0x6d, 0x65, 0x72, + 0x69, 0x63, 0x61, 0x6e, 0x63, 0x6f, 0x6e, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, + 0x6f, 0x66, 0x77, 0x69, 0x64, 0x65, 0x73, 0x70, 0x72, 0x65, 0x61, 0x64, 0x20, + 0x77, 0x65, 0x72, 0x65, 0x20, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x73, 0x63, + 0x72, 0x65, 0x65, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x49, 0x6e, 0x20, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x61, + 0x6e, 0x74, 0x73, 0x61, 0x72, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, + 0x64, 0x6c, 0x65, 0x67, 0x69, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x62, 0x61, + 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x6d, 0x6f, 0x73, 0x74, 0x20, + 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x79, 0x65, 0x61, 0x72, 0x73, 0x20, 0x61, + 0x66, 0x74, 0x65, 0x72, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, + 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x20, 0x68, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, + 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x74, 0x68, + 0x65, 0x79, 0x20, 0x64, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x61, 0x72, 0x67, 0x75, + 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x65, 0x64, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x70, 0x72, 0x65, 0x64, 0x6f, 0x6d, 0x69, 0x6e, + 0x61, 0x6e, 0x74, 0x74, 0x68, 0x65, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, + 0x6c, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x63, + 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x2d, 0x6c, 0x69, 0x76, 0x65, 0x64, 0x3c, 0x2f, 0x73, 0x70, 0x61, + 0x6e, 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, + 0x75, 0x73, 0x65, 0x64, 0x76, 0x65, 0x72, 0x79, 0x20, 0x6c, 0x69, 0x74, 0x74, + 0x6c, 0x65, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x68, 0x61, 0x64, 0x20, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x63, 0x6f, 0x6d, 0x6d, + 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x65, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x20, 0x6f, 0x66, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x2c, 0x3c, 0x2f, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x3e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x22, + 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x33, 0x49, 0x6e, 0x64, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x70, 0x6f, 0x70, 0x75, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x2d, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x20, 0x41, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, + 0x68, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x64, 0x65, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x6f, + 0x73, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x77, 0x6f, 0x20, 0x6f, 0x72, + 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x73, 0x75, 0x62, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, + 0x65, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x68, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x3c, 0x2f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x0d, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x69, + 0x6e, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x20, + 0x62, 0x65, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x20, 0x6f, 0x66, + 0x69, 0x6e, 0x20, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x73, 0x69, + 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x6e, 0x73, 0x75, + 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x20, 0x61, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x73, 0x73, 0x69, + 0x70, 0x70, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x6c, + 0x79, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x62, + 0x65, 0x74, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x77, 0x68, 0x61, + 0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x77, 0x73, 0x69, 0x74, 0x75, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x54, 0x72, 0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x68, + 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6f, 0x66, 0x61, 0x74, 0x6d, 0x6f, + 0x73, 0x70, 0x68, 0x65, 0x72, 0x69, 0x63, 0x69, 0x64, 0x65, 0x6f, 0x6c, 0x6f, + 0x67, 0x69, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x65, 0x61, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x72, + 0x65, 0x6d, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x73, 0x70, 0x61, 0x67, 0x65, 0x2f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x2e, 0x70, 0x68, 0x70, 0x3f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x65, 0x64, 0x48, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6c, 0x73, 0x6f, + 0x77, 0x61, 0x73, 0x20, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x20, 0x66, + 0x61, 0x76, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x4d, 0x69, 0x6e, 0x69, 0x73, 0x74, + 0x72, 0x79, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x20, 0x6f, 0x66, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x69, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x3c, + 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x54, 0x68, 0x69, + 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x3c, 0x61, 0x20, 0x68, + 0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, + 0x69, 0x7a, 0x65, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, + 0x69, 0x6e, 0x61, 0x72, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x61, 0x6e, 0x64, 0x20, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6d, 0x61, + 0x64, 0x65, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x65, 0x6d, + 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x79, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x50, 0x61, 0x6c, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x69, 0x61, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x20, 0x61, 0x66, 0x74, 0x65, + 0x72, 0x69, 0x74, 0x20, 0x68, 0x61, 0x64, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x6d, + 0x6f, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x74, 0x6f, 0x20, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x62, 0x75, 0x74, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x76, 0x65, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x69, + 0x6c, 0x79, 0x49, 0x6e, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x2c, + 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x61, + 0x6b, 0x65, 0x73, 0x20, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x75, 0x62, 0x64, + 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x69, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x6c, + 0x79, 0x77, 0x61, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x6c, 0x79, 0x6f, + 0x75, 0x74, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x73, 0x74, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, + 0x77, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, + 0x6f, 0x67, 0x3d, 0x22, 0x3e, 0x3c, 0x61, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, + 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x61, + 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x6d, 0x61, 0x6e, 0x75, + 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, + 0x62, 0x65, 0x69, 0x6e, 0x67, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x66, 0x69, 0x78, + 0x22, 0x3e, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, + 0x66, 0x77, 0x61, 0x73, 0x20, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x74, + 0x6f, 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6d, 0x65, 0x20, 0x61, 0x62, 0x65, 0x63, + 0x61, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x20, + 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x69, 0x6e, 0x73, 0x70, 0x69, 0x72, 0x65, + 0x64, 0x20, 0x62, 0x79, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, + 0x6c, 0x20, 0x61, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e, + 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x61, 0x6d, + 0x6f, 0x6e, 0x67, 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x20, 0x6f, + 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, + 0x31, 0x30, 0x30, 0x25, 0x3b, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, + 0x67, 0x79, 0x2c, 0x77, 0x61, 0x73, 0x20, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x65, + 0x64, 0x74, 0x6f, 0x20, 0x6b, 0x65, 0x65, 0x70, 0x20, 0x74, 0x68, 0x65, 0x73, + 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x6c, 0x69, 0x76, + 0x65, 0x20, 0x62, 0x69, 0x72, 0x74, 0x68, 0x73, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x63, 0x75, 0x74, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x3b, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x61, 0x6c, + 0x69, 0x67, 0x6e, 0x3d, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x68, 0x65, 0x20, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, + 0x20, 0x62, 0x65, 0x65, 0x6e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, + 0x20, 0x74, 0x6f, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x42, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x71, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x61, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x20, 0x6f, 0x66, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x22, 0x20, + 0x2f, 0x3e, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, + 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x0d, 0x0a, + 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0d, 0x0a, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x65, 0x6c, 0x79, 0x2c, 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, + 0x3d, 0x22, 0x31, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x6c, + 0x79, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6d, 0x65, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x74, 0x68, 0x65, + 0x20, 0x70, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x63, 0x69, 0x74, 0x69, 0x7a, + 0x65, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63, + 0x69, 0x61, 0x6e, 0x73, 0x72, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x20, 0x74, + 0x68, 0x65, 0x61, 0x73, 0x20, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x20, 0x61, 0x73, + 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x3c, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x6f, 0x6e, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x64, + 0x6f, 0x77, 0x6e, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x74, 0x20, 0x69, + 0x73, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x69, 0x74, 0x20, 0x77, 0x61, 0x73, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x61, 0x63, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x64, 0x61, 0x74, 0x65, 0x61, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x20, 0x49, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, + 0x74, 0x65, 0x74, 0x68, 0x65, 0x20, 0x45, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, + 0x64, 0x65, 0x6c, 0x69, 0x63, 0x69, 0x6f, 0x75, 0x73, 0x22, 0x3e, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x74, 0x68, 0x65, 0x20, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x79, 0x20, 0x61, 0x72, 0x65, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x69, 0x6e, 0x61, + 0x6c, 0x6c, 0x79, 0x61, 0x20, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x6f, + 0x66, 0x0d, 0x0a, 0x09, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, 0x0d, + 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x66, 0x61, 0x73, + 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x77, + 0x68, 0x69, 0x63, 0x68, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x69, 0x6d, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x61, 0x77, + 0x61, 0x72, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x65, 0x72, 0x22, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, + 0x65, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x20, 0x6f, 0x66, 0x74, + 0x68, 0x65, 0x69, 0x72, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x44, 0x75, 0x72, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, + 0x6e, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x20, 0x6f, 0x66, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, + 0x29, 0x7b, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x20, + 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x2f, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x3c, 0x62, 0x65, 0x67, 0x69, + 0x6e, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x3a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, + 0x65, 0x6e, 0x74, 0x77, 0x61, 0x73, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x65, + 0x64, 0x65, 0x71, 0x75, 0x69, 0x6c, 0x69, 0x62, 0x72, 0x69, 0x75, 0x6d, 0x61, + 0x73, 0x73, 0x75, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x73, 0x20, + 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x62, 0x79, 0x6e, 0x65, 0x65, 0x64, 0x73, + 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x72, 0x69, 0x6f, + 0x75, 0x73, 0x61, 0x72, 0x65, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, + 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x69, 0x73, 0x20, 0x61, + 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x65, 0x6f, 0x72, 0x69, + 0x65, 0x73, 0x20, 0x6f, 0x66, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x65, 0x64, 0x67, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, + 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6f, 0x66, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x70, 0x72, 0x65, 0x73, 0x65, + 0x6e, 0x74, 0x2d, 0x64, 0x61, 0x79, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x6c, 0x6c, 0x79, 0x74, 0x6f, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x74, + 0x68, 0x65, 0x62, 0x75, 0x74, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, + 0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x69, 0x73, 0x20, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x6c, 0x79, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x74, + 0x68, 0x65, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x6d, 0x61, 0x64, + 0x65, 0x77, 0x61, 0x73, 0x20, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x77, + 0x68, 0x69, 0x63, 0x68, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x62, 0x75, 0x74, + 0x20, 0x64, 0x69, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x6f, 0x6e, 0x4d, 0x6f, 0x75, + 0x73, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x61, 0x73, 0x20, 0x70, 0x6f, 0x73, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x72, 0x6f, 0x6d, + 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x61, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x66, 0x6f, 0x72, 0x20, + 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x72, 0x65, 0x64, 0x61, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, + 0x20, 0x6f, 0x66, 0x61, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, + 0x6f, 0x68, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x69, 0x74, 0x73, + 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x68, 0x61, 0x76, 0x65, 0x6d, 0x75, 0x63, + 0x68, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x0a, 0x09, 0x3c, 0x2f, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x65, 0x64, + 0x20, 0x74, 0x68, 0x65, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, + 0x6f, 0x66, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x77, 0x61, + 0x73, 0x20, 0x62, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x63, 0x68, 0x69, 0x6c, + 0x64, 0x72, 0x65, 0x6e, 0x20, 0x6f, 0x66, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, + 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x20, 0x74, + 0x68, 0x61, 0x6e, 0x6d, 0x61, 0x6e, 0x75, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x73, 0x77, 0x61, 0x72, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x62, + 0x79, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x61, 0x6e, 0x64, + 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x73, 0x69, 0x6d, 0x69, 0x6c, + 0x61, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x65, + 0x74, 0x61, 0x72, 0x79, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x70, 0x72, 0x65, 0x73, 0x74, 0x69, 0x67, 0x69, 0x6f, 0x75, 0x73, + 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x65, 0x78, + 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x74, 0x6f, 0x20, 0x6d, + 0x61, 0x6b, 0x65, 0x20, 0x74, 0x68, 0x65, 0x49, 0x74, 0x20, 0x77, 0x61, 0x73, + 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x69, 0x73, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, + 0x20, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x69, 0x74, 0x6f, 0x72, + 0x73, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, 0x2e, 0x53, 0x2e, 0x72, + 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x62, 0x72, 0x6f, + 0x75, 0x67, 0x68, 0x74, 0x20, 0x74, 0x68, 0x65, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x6c, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, + 0x69, 0x6e, 0x20, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x72, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x72, 0x65, 0x73, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x6f, + 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, + 0x6f, 0x31, 0x73, 0x74, 0x20, 0x45, 0x61, 0x72, 0x6c, 0x20, 0x6f, 0x66, 0x63, + 0x75, 0x6c, 0x74, 0x75, 0x72, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x70, 0x72, 0x69, + 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x6c, 0x79, 0x3c, 0x2f, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x63, 0x61, + 0x6e, 0x20, 0x62, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x20, 0x74, 0x6f, 0x20, 0x74, + 0x68, 0x65, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x68, 0x69, 0x73, + 0x65, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x20, 0x74, 0x6f, 0x61, 0x72, + 0x65, 0x20, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x66, 0x6f, 0x72, 0x6d, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x64, 0x64, 0x46, 0x61, 0x76, + 0x6f, 0x72, 0x69, 0x74, 0x65, 0x63, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x6e, 0x73, + 0x68, 0x69, 0x70, 0x70, 0x61, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, + 0x65, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, + 0x6e, 0x20, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x74, 0x6f, 0x20, + 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x26, 0x61, 0x6d, 0x70, 0x3b, + 0x6d, 0x69, 0x6e, 0x75, 0x73, 0x3b, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, + 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, + 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, + 0x61, 0x6e, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x70, 0x6c, 0x61, 0x79, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, + 0x30, 0x22, 0x20, 0x69, 0x6e, 0x20, 0x68, 0x69, 0x73, 0x20, 0x62, 0x6f, 0x6f, + 0x6b, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x66, + 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x74, 0x68, 0x65, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, + 0x6e, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c, + 0x2f, 0x74, 0x64, 0x3e, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, + 0x73, 0x74, 0x74, 0x68, 0x65, 0x20, 0x69, 0x64, 0x65, 0x61, 0x20, 0x6f, 0x66, + 0x61, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x77, 0x65, + 0x72, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x20, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x3d, 0x22, 0x62, 0x74, 0x6e, 0x64, 0x61, 0x79, 0x73, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, + 0x20, 0x69, 0x6e, 0x73, 0x68, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, + 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x69, + 0x6e, 0x20, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x68, + 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x4c, 0x6f, 0x72, 0x64, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, + 0x6c, 0x79, 0x68, 0x61, 0x73, 0x20, 0x69, 0x74, 0x73, 0x20, 0x6f, 0x77, 0x6e, + 0x45, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x73, 0x6f, 0x6d, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x61, 0x63, 0x68, 0x20, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x2c, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x20, 0x6f, 0x66, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, + 0x65, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x61, + 0x70, 0x70, 0x65, 0x61, 0x72, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x72, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x62, 0x6c, 0x61, 0x63, 0x6b, + 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x6d, 0x61, 0x79, 0x20, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x27, 0x73, 0x63, 0x61, 0x6e, 0x20, 0x6c, 0x65, 0x61, 0x64, 0x20, 0x74, 0x6f, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x62, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x67, 0x6f, 0x76, 0x65, + 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x65, 0x64, + 0x20, 0x69, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x2c, 0x74, + 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x63, 0x69, 0x74, + 0x79, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x3e, 0x3c, 0x2f, 0x64, 0x69, + 0x76, 0x3e, 0x0d, 0x0a, 0x09, 0x09, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, + 0x72, 0x61, 0x64, 0x69, 0x6f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x72, 0x65, + 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x77, 0x69, 0x74, 0x68, + 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x79, 0x68, 0x69, 0x73, 0x20, 0x66, 0x61, + 0x74, 0x68, 0x65, 0x72, 0x2c, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x6f, + 0x75, 0x6c, 0x64, 0x63, 0x6f, 0x70, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x61, + 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x69, 0x74, 0x75, 0x74, 0x65, 0x73, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x64, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x65, 0x72, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x6c, + 0x69, 0x3e, 0x6f, 0x66, 0x20, 0x68, 0x69, 0x73, 0x20, 0x6c, 0x69, 0x66, 0x65, + 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x65, 0x64, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x57, 0x69, 0x64, 0x74, 0x68, 0x70, 0x72, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x20, 0x74, 0x68, 0x65, 0x4c, 0x65, 0x67, 0x69, 0x73, 0x6c, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x74, 0x6c, 0x79, 0x74, 0x6f, 0x67, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, + 0x6e, 0x68, 0x61, 0x73, 0x20, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x66, + 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, + 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x66, 0x6f, 0x75, 0x6e, 0x64, + 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, + 0x6f, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, + 0x75, 0x73, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x77, 0x68, 0x65, 0x72, + 0x65, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x3e, 0x20, 0x3c, 0x61, 0x20, 0x68, + 0x72, 0x65, 0x66, 0x3d, 0x22, 0x22, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, + 0x66, 0x3d, 0x22, 0x74, 0x68, 0x65, 0x6d, 0x73, 0x65, 0x6c, 0x76, 0x65, 0x73, + 0x2c, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x68, 0x65, 0x74, + 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x74, 0x72, 0x61, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x72, 0x6f, 0x6c, 0x65, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x68, 0x69, + 0x6c, 0x64, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x77, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x53, 0x6f, + 0x6d, 0x65, 0x20, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x69, 0x64, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, + 0x65, 0x72, 0x73, 0x75, 0x73, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, + 0x65, 0x64, 0x6f, 0x77, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x61, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x6c, 0x69, 0x76, + 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x61, 0x74, 0x74, 0x65, 0x6d, + 0x70, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, + 0x20, 0x74, 0x68, 0x65, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x69, + 0x65, 0x73, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x69, 0x6e, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x61, 0x74, + 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x72, + 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, + 0x67, 0x68, 0x20, 0x69, 0x74, 0x77, 0x61, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74, + 0x20, 0x6f, 0x66, 0x61, 0x6e, 0x64, 0x20, 0x76, 0x61, 0x72, 0x69, 0x6f, 0x75, + 0x73, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x74, + 0x68, 0x65, 0x20, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x3e, 0x3c, 0x61, 0x20, 0x68, + 0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x74, 0x68, 0x65, 0x20, 0x65, 0x63, 0x6f, + 0x6e, 0x6f, 0x6d, 0x79, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, + 0x73, 0x74, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x77, 0x69, 0x64, 0x65, 0x6c, 0x79, + 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6e, + 0x64, 0x20, 0x70, 0x65, 0x72, 0x68, 0x61, 0x70, 0x73, 0x72, 0x69, 0x73, 0x65, + 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x73, + 0x20, 0x77, 0x68, 0x65, 0x6e, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x77, 0x68, + 0x69, 0x63, 0x68, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x74, 0x68, 0x65, 0x20, 0x77, 0x65, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x74, + 0x68, 0x65, 0x6f, 0x72, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x73, 0x20, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x63, + 0x68, 0x20, 0x68, 0x65, 0x73, 0x65, 0x65, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x6d, 0x61, + 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x68, 0x69, 0x73, 0x61, 0x72, 0x65, 0x61, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x6d, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x74, 0x68, 0x65, 0x20, 0x57, 0x65, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x54, + 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x74, + 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x63, 0x6f, 0x6c, 0x73, 0x70, 0x61, 0x6e, + 0x3d, 0x32, 0x20, 0x7c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, + 0x74, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x63, 0x72, + 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x61, 0x20, 0x43, 0x68, 0x72, 0x69, + 0x73, 0x74, 0x69, 0x61, 0x6e, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x20, 0x74, 0x6f, 0x69, 0x73, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, + 0x6f, 0x70, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x73, 0x20, 0x6f, 0x66, 0x54, + 0x68, 0x69, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x6d, 0x65, 0x72, + 0x63, 0x68, 0x61, 0x6e, 0x64, 0x69, 0x73, 0x65, 0x66, 0x6f, 0x72, 0x20, 0x6d, + 0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x6e, 0x6f, 0x20, 0x65, 0x76, 0x69, 0x64, + 0x65, 0x6e, 0x63, 0x65, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, + 0x6f, 0x66, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, + 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x63, 0x6f, + 0x6d, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x77, 0x68, 0x69, 0x63, + 0x68, 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x73, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x20, + 0x74, 0x68, 0x65, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x2c, 0x69, 0x73, 0x20, 0x61, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x74, + 0x68, 0x65, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x74, 0x68, 0x65, + 0x20, 0x61, 0x6e, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x72, 0x6f, 0x62, 0x6c, + 0x65, 0x6d, 0x73, 0x20, 0x69, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x64, 0x65, 0x66, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x61, 0x20, 0x66, 0x65, 0x77, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x6d, 0x75, + 0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, + 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x6f, 0x66, 0x43, 0x61, 0x6c, 0x69, 0x66, 0x6f, + 0x72, 0x6e, 0x69, 0x61, 0x2c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x61, + 0x73, 0x20, 0x61, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x6d, + 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x09, 0x09, 0x3c, + 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x69, 0x74, 0x22, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x20, 0x6f, 0x66, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x61, + 0x72, 0x65, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x20, 0x69, 0x6e, + 0x69, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x65, 0x78, + 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x64, 0x69, 0x76, 0x3e, + 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x65, 0x6c, 0x65, 0x61, 0x64, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x09, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, + 0x2f, 0x77, 0x61, 0x73, 0x20, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x70, + 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x68, 0x61, 0x76, 0x65, 0x63, 0x6f, 0x6e, + 0x74, 0x69, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x77, 0x61, 0x73, 0x20, 0x73, + 0x65, 0x65, 0x6e, 0x20, 0x61, 0x73, 0x61, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x20, + 0x6f, 0x66, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x65, 0x73, 0x74, 0x65, 0x61, + 0x63, 0x68, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, + 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x64, 0x69, 0x61, 0x6c, 0x65, 0x63, 0x74, 0x73, + 0x20, 0x6f, 0x66, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x61, + 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, + 0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x61, 0x75, 0x6e, 0x63, + 0x68, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x20, 0x74, 0x68, 0x65, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x65, + 0x73, 0x74, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, + 0x61, 0x6e, 0x64, 0x20, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x62, 0x65, + 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x74, 0x77, 0x6f, 0x69, 0x73, 0x20, 0x61, + 0x6c, 0x73, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x45, 0x6e, 0x67, 0x6c, 0x69, 0x73, + 0x68, 0x20, 0x61, 0x6e, 0x64, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2c, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x74, 0x20, 0x77, 0x61, + 0x73, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x74, + 0x68, 0x65, 0x6d, 0x73, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x2e, 0x71, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x72, 0x61, 0x6e, 0x73, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, + 0x65, 0x20, 0x61, 0x73, 0x74, 0x6f, 0x20, 0x6a, 0x6f, 0x69, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x20, 0x61, 0x6e, 0x64, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x54, 0x68, + 0x69, 0x73, 0x20, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x61, 0x20, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x73, 0x74, 0x20, 0x74, 0x6f, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x4f, 0x66, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x68, 0x69, + 0x73, 0x69, 0x73, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x74, + 0x68, 0x65, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x20, 0x69, 0x73, 0x69, 0x73, 0x20, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x74, 0x65, + 0x63, 0x74, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x67, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, + 0x2f, 0x6c, 0x69, 0x3e, 0x54, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x74, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x74, 0x65, 0x20, 0x6f, 0x66, + 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x65, 0x78, + 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2c, 0x69, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x57, 0x65, 0x73, 0x74, 0x74, 0x68, 0x65, 0x79, 0x20, 0x73, + 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x73, 0x6c, 0x6f, 0x76, 0x65, 0x6e, 0xc4, 0x8d, + 0x69, 0x6e, 0x61, 0x63, 0x6f, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x69, 0x6f, + 0x73, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x64, 0x61, 0x64, 0x63, + 0x6f, 0x6e, 0x64, 0x69, 0x63, 0x69, 0x6f, 0x6e, 0x65, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x64, 0x61, 0x64, 0x65, 0x73, 0x65, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x65, 0x6e, 0x63, 0x69, 0x61, 0x74, 0x65, 0x63, 0x6e, 0x6f, 0x6c, 0x6f, + 0x67, 0xc3, 0xad, 0x61, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x63, 0x69, 0xc3, + 0xb3, 0x6e, 0x70, 0x75, 0x6e, 0x74, 0x75, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, + 0x61, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x73, 0x65, 0xc3, 0xb1, 0x61, 0x63, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0xc3, 0xad, 0x61, 0x73, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x61, 0x72, 0x73, 0x65, 0x70, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x61, 0x6d, 0x69, 0x65, 0x6e, 0x74, + 0x6f, 0x72, 0x65, 0x67, 0xc3, 0xad, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x73, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x61, 0x72, 0xc3, 0xad, 0x61, 0x70, 0x72, 0x69, + 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x65, 0x73, 0x70, 0x72, 0x6f, 0x74, 0x65, + 0x63, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, + 0x6e, 0x74, 0x65, 0x73, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, + 0x69, 0x61, 0x70, 0x6f, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x64, 0x61, 0x64, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x61, 0x6e, 0x74, 0x65, 0x63, 0x72, + 0x65, 0x63, 0x69, 0x6d, 0x69, 0x65, 0x6e, 0x74, 0x6f, 0x6e, 0x65, 0x63, 0x65, + 0x73, 0x69, 0x64, 0x61, 0x64, 0x65, 0x73, 0x73, 0x75, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x69, 0x72, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x63, 0x69, + 0xc3, 0xb3, 0x6e, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x6e, 0x69, 0x62, 0x6c, 0x65, + 0x73, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x65, + 0x73, 0x74, 0x75, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x65, 0x73, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x75, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x67, 0x75, 0x61, 0x64, 0x61, 0x6c, 0x61, + 0x6a, 0x61, 0x72, 0x61, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x64, + 0x6f, 0x73, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x6e, 0x69, 0x64, 0x61, 0x64, + 0x63, 0x6f, 0x6d, 0x65, 0x72, 0x63, 0x69, 0x61, 0x6c, 0x65, 0x73, 0x66, 0x6f, + 0x74, 0x6f, 0x67, 0x72, 0x61, 0x66, 0xc3, 0xad, 0x61, 0x61, 0x75, 0x74, 0x6f, + 0x72, 0x69, 0x64, 0x61, 0x64, 0x65, 0x73, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x69, + 0x65, 0x72, 0xc3, 0xad, 0x61, 0x74, 0x65, 0x6c, 0x65, 0x76, 0x69, 0x73, 0x69, + 0xc3, 0xb3, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x65, 0x6e, 0x63, 0x69, + 0x61, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x63, 0x69, 0x6f, 0x6e, 0x65, 0x73, 0x65, + 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x63, 0x69, 0x64, 0x6f, 0x73, 0x69, 0x6d, + 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x61, 0x63, 0x74, 0x75, 0x61, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x76, 0x65, 0x67, 0x61, 0x63, + 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x64, + 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x2d, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x3a, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x3a, + 0x22, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x6c, 0x69, + 0x6e, 0x6b, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x2f, 0x2f, 0x3c, 0x21, + 0x5b, 0x43, 0x44, 0x41, 0x54, 0x41, 0x5b, 0x0a, 0x4f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x30, 0x70, 0x78, 0x3b, 0x20, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x3a, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x68, 0x69, 0x70, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x3c, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x20, 0x66, 0x6f, 0x72, 0x3d, + 0x22, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x3c, 0x2f, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x2f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x77, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x28, 0x20, 0x21, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x3b, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x70, + 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x3c, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x75, 0x61, 0x6c, + 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x31, + 0x38, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x79, 0x61, 0x6e, + 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x73, + 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x62, 0x62, 0x72, + 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3c, 0x69, 0x6d, 0x67, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x69, 0x76, 0x69, 0x6c, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x39, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, + 0x74, 0x75, 0x72, 0x79, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, + 0x75, 0x72, 0x65, 0x69, 0x6e, 0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x32, 0x30, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x75, 0x72, + 0x79, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0x3e, + 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x79, 0x2f, + 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x75, 0x6e, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x27, 0x29, 0x46, 0x75, 0x72, 0x74, + 0x68, 0x65, 0x72, 0x6d, 0x6f, 0x72, 0x65, 0x2c, 0x62, 0x65, 0x6c, 0x69, 0x65, + 0x76, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x48, + 0x54, 0x4d, 0x4c, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x64, 0x72, 0x61, 0x6d, 0x61, 0x74, 0x69, 0x63, + 0x61, 0x6c, 0x6c, 0x79, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x69, 0x6e, 0x67, + 0x20, 0x74, 0x6f, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x68, 0x65, 0x61, 0x64, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, + 0x73, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x20, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, + 0x75, 0x6e, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x50, + 0x65, 0x6e, 0x6e, 0x73, 0x79, 0x6c, 0x76, 0x61, 0x6e, 0x69, 0x61, 0x41, 0x73, + 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2c, 0x3c, 0x68, 0x74, + 0x6d, 0x6c, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x3d, 0x22, 0x26, 0x6c, 0x74, 0x3b, + 0x2f, 0x73, 0x75, 0x70, 0x26, 0x67, 0x74, 0x3b, 0x64, 0x65, 0x61, 0x6c, 0x69, + 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x70, 0x68, 0x69, 0x6c, 0x61, 0x64, + 0x65, 0x6c, 0x70, 0x68, 0x69, 0x61, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, + 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x29, 0x3b, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x3e, 0x0a, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x2d, 0x74, + 0x6f, 0x70, 0x3a, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x6c, 0x67, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x74, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x65, 0x73, 0x70, + 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x3d, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x7b, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x6c, 0x2e, 0x64, 0x74, + 0x64, 0x22, 0x3e, 0x0d, 0x0a, 0x3c, 0x68, 0x74, 0x67, 0x65, 0x6f, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x69, 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x69, + 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x20, 0x62, 0x79, 0x61, 0x67, 0x72, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x75, + 0x72, 0x61, 0x6c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x31, + 0x61, 0x20, 0x76, 0x61, 0x72, 0x69, 0x65, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x3c, + 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x45, 0x6e, + 0x63, 0x79, 0x63, 0x6c, 0x6f, 0x70, 0x65, 0x64, 0x69, 0x61, 0x69, 0x66, 0x72, + 0x61, 0x6d, 0x65, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x64, 0x65, 0x6d, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x61, 0x63, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x74, 0x69, 0x65, 0x73, 0x44, 0x65, 0x6d, 0x6f, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x69, 0x63, 0x73, 0x29, 0x3b, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x3e, 0x3c, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x74, 0x6f, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x20, + 0x6f, 0x66, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x6c, 0x79, + 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x45, + 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x20, 0x28, 0x55, 0x53, 0x29, 0x61, 0x70, + 0x70, 0x65, 0x6e, 0x64, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x28, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, 0x48, + 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x6c, + 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x20, 0x74, 0x61, 0x62, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x3d, 0x22, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x72, + 0x69, 0x67, 0x68, 0x74, 0x3b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x77, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x72, 0x61, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x66, + 0x72, 0x6f, 0x6d, 0x69, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x74, + 0x68, 0x65, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x6f, 0x6e, + 0x65, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x65, 0x6e, 0x63, 0x79, 0x63, 0x6c, 0x6f, 0x70, 0x65, 0x64, 0x69, 0x61, 0x3b, + 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x31, 0x6a, 0x75, + 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x74, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x3e, 0x3c, 0x61, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x49, 0x6e, 0x20, 0x61, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2b, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x6c, 0x6c, 0x79, 0x72, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x3d, 0x22, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, + 0x67, 0x26, 0x6c, 0x74, 0x3b, 0x6d, 0x61, 0x74, 0x68, 0x26, 0x67, 0x74, 0x3b, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6f, + 0x63, 0x63, 0x61, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x3c, 0x69, + 0x6d, 0x67, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x6e, 0x61, 0x76, + 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x63, 0x6f, 0x6d, 0x70, + 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x6d, 0x70, + 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x3d, + 0x22, 0x61, 0x6c, 0x6c, 0x22, 0x20, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x20, 0x74, 0x6f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x72, + 0x75, 0x65, 0x3b, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x2f, 0x2f, 0x45, 0x4e, + 0x22, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x69, + 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x43, 0x68, 0x61, + 0x6d, 0x70, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x63, 0x61, 0x70, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x3c, 0x21, 0x5b, 0x65, 0x6e, + 0x64, 0x69, 0x66, 0x5d, 0x2d, 0x2d, 0x3e, 0x7d, 0x0a, 0x3c, 0x2f, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x69, + 0x61, 0x6e, 0x69, 0x74, 0x79, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x2c, 0x50, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, + 0x28, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x72, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x28, 0x75, 0x6e, + 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x74, 0x68, 0x65, + 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x75, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x2f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x22, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, + 0x66, 0x3d, 0x22, 0x2f, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x6f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x47, + 0x75, 0x69, 0x64, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x76, + 0x65, 0x72, 0x77, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x6e, 0x67, 0x61, 0x67, 0x61, + 0x69, 0x6e, 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x63, + 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2c, 0x0a, 0x2e, 0x6e, 0x6f, + 0x6e, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x20, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3c, 0x2f, 0x61, 0x3e, 0x0a, 0x3c, 0x2f, + 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x66, 0x20, 0x28, 0x64, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3a, 0x20, 0x31, + 0x70, 0x78, 0x20, 0x7b, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69, 0x7a, 0x65, + 0x3a, 0x31, 0x74, 0x72, 0x65, 0x61, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, + 0x66, 0x30, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x31, + 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x69, + 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x67, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x61, 0x63, 0x68, 0x69, + 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x65, 0x73, 0x74, 0x61, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4a, 0x61, 0x76, 0x61, 0x53, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x22, 0x20, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x74, 0x68, + 0x65, 0x6c, 0x65, 0x73, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x6e, 0x63, 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, + 0x69, 0x6e, 0x67, 0x3e, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c, 0x2f, 0x74, + 0x64, 0x3e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0x3e, + 0x0a, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x61, + 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x73, 0x72, + 0x63, 0x3d, 0x27, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6e, 0x61, 0x76, + 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x74, + 0x61, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, + 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x74, 0x61, + 0x67, 0x65, 0x20, 0x6f, 0x66, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x79, 0x20, 0x6f, 0x66, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x6c, 0x20, 0x6d, 0x65, 0x74, 0x72, 0x6f, 0x70, 0x6f, 0x6c, 0x69, 0x74, + 0x61, 0x6e, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x70, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x65, 0x22, 0x20, 0x78, 0x6d, 0x6c, 0x3a, 0x6c, 0x61, 0x6e, 0x67, 0x3d, 0x22, + 0x64, 0x65, 0x6c, 0x69, 0x62, 0x65, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x61, + 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x76, + 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x70, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6d, 0x70, 0x72, + 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x65, 0x67, 0x69, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x4a, 0x65, 0x73, 0x75, 0x73, 0x20, + 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x64, 0x69, 0x73, 0x61, 0x67, 0x72, 0x65, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, + 0x6e, 0x3a, 0x72, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x28, 0x29, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, + 0x69, 0x73, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x62, 0x65, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x73, + 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x79, 0x70, + 0x65, 0x3d, 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x6d, 0x61, 0x6e, 0x79, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6c, 0x6f, 0x77, 0x3a, + 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x3b, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x20, 0x74, 0x68, 0x65, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, + 0x65, 0x20, 0x6f, 0x66, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x20, + 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x65, 0x74, 0x09, 0x3c, 0x75, 0x6c, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, + 0x22, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x68, 0x6f, 0x6f, 0x64, 0x61, + 0x72, 0x6d, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x73, 0x72, 0x65, + 0x64, 0x75, 0x63, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e, + 0x74, 0x69, 0x6e, 0x75, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x4e, 0x6f, 0x6e, 0x65, + 0x74, 0x68, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x2c, 0x74, 0x65, 0x6d, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x0a, 0x09, 0x09, 0x3c, 0x61, 0x20, + 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, + 0x20, 0x6f, 0x66, 0x20, 0x69, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, + 0x74, 0x68, 0x65, 0x28, 0x73, 0x65, 0x65, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x77, + 0x29, 0x2e, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x70, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x69, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x74, + 0x68, 0x65, 0x20, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x09, 0x09, + 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x0a, 0x09, 0x09, + 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, + 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x72, 0x6f, 0x75, + 0x67, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x48, 0x61, 0x6c, 0x6c, 0x20, 0x6f, + 0x66, 0x20, 0x46, 0x61, 0x6d, 0x65, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x27, 0x74, 0x65, 0x78, + 0x74, 0x2f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x20, 0x79, 0x65, 0x61, 0x72, + 0x73, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x76, 0x65, 0x72, 0x79, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x7b, + 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x3a, 0x74, 0x72, + 0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x73, 0x6f, 0x6d, + 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x65, 0x78, 0x70, 0x6c, 0x6f, + 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, + 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x69, 0x74, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x20, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x20, 0x6f, 0x66, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x64, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x3e, 0x3c, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c, + 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x62, + 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x61, + 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x6e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x77, 0x69, 0x74, 0x68, + 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x64, 0x64, 0x65, 0x64, + 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x09, 0x3c, 0x6c, 0x69, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x53, 0x6f, 0x76, 0x69, 0x65, 0x74, 0x20, 0x55, + 0x6e, 0x69, 0x6f, 0x6e, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, + 0x67, 0x65, 0x64, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x61, 0x6e, 0x20, + 0x62, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, + 0x65, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, + 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x64, + 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, + 0x20, 0x66, 0x61, 0x63, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x6c, 0x69, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x61, 0x69, 0x6d, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x73, 0x75, 0x69, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x63, 0x68, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x75, 0x62, + 0x62, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x69, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, + 0x72, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, + 0x6f, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, + 0x20, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x74, + 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x72, 0x63, 0x3d, + 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x70, 0x78, 0x3b, 0x20, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, + 0x74, 0x75, 0x72, 0x65, 0x72, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x20, 0x72, 0x69, + 0x67, 0x68, 0x74, 0x73, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x68, 0x72, 0x65, 0x66, + 0x3d, 0x22, 0x2f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x61, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x61, 0x6c, 0x68, + 0x75, 0x6d, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x73, 0x6e, 0x61, + 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x72, 0x65, + 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x69, 0x6e, 0x61, 0x72, 0x65, 0x20, + 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x73, 0x6d, 0x61, 0x6c, 0x6c, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x61, 0x20, 0x70, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x20, 0x77, 0x68, 0x6f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x61, 0x72, 0x67, 0x75, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x6e, 0x6f, 0x77, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, + 0x20, 0x61, 0x73, 0x49, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x61, 0x72, + 0x6c, 0x79, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, + 0x65, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, + 0x53, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x61, 0x76, 0x69, 0x61, 0x6e, 0x3c, + 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, 0x63, 0x6f, + 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x20, + 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x74, 0x68, 0x65, 0x20, + 0x4e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x3c, 0x64, 0x69, 0x76, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x70, 0x61, 0x67, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x61, 0x6e, 0x61, 0x6c, 0x6f, 0x67, 0x6f, 0x75, + 0x73, 0x20, 0x74, 0x6f, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x2f, 0x75, 0x6c, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, + 0x3e, 0x0a, 0x77, 0x61, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, + 0x6e, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x61, + 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x74, + 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x22, 0x20, 0x77, 0x61, + 0x73, 0x20, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x6e, 0x6f, 0x20, + 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x72, 0x65, 0x73, 0x70, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x63, 0x6f, 0x6e, 0x74, 0x69, + 0x6e, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x3e, 0x0d, 0x0a, 0x3c, 0x68, 0x65, + 0x61, 0x64, 0x3e, 0x0d, 0x0a, 0x3c, 0x77, 0x65, 0x72, 0x65, 0x20, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x6c, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, + 0x68, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x49, 0x6d, 0x70, 0x65, 0x72, 0x69, 0x61, 0x6c, + 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x6f, 0x6e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, + 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x20, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x78, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x6c, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, + 0x20, 0x69, 0x74, 0x73, 0x20, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x61, 0x6e, + 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x68, 0x6f, 0x77, + 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x79, + 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x72, 0x65, 0x6a, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, + 0x69, 0x73, 0x6d, 0x20, 0x6f, 0x66, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, + 0x77, 0x68, 0x69, 0x63, 0x68, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x6c, 0x79, + 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x6c, 0x65, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, + 0x29, 0x7b, 0x49, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, + 0x65, 0x61, 0x6e, 0x20, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x63, 0x63, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x6c, 0x79, 0x64, + 0x69, 0x66, 0x66, 0x65, 0x72, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x41, 0x72, + 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x62, 0x65, 0x74, + 0x74, 0x65, 0x72, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x61, 0x72, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x69, 0x6e, 0x66, 0x6c, 0x75, + 0x65, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x6e, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x64, + 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x63, + 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x70, 0x61, 0x73, 0x73, 0x20, 0x74, 0x68, 0x72, 0x6f, + 0x75, 0x67, 0x68, 0x78, 0x6d, 0x6c, 0x22, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x3d, 0x22, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x6f, 0x6c, 0x64, + 0x3b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x72, + 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x69, + 0x6d, 0x67, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x2f, 0x69, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x57, 0x6f, 0x72, 0x6c, + 0x64, 0x20, 0x57, 0x61, 0x72, 0x20, 0x49, 0x49, 0x74, 0x65, 0x73, 0x74, 0x69, + 0x6d, 0x6f, 0x6e, 0x69, 0x61, 0x6c, 0x73, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x73, 0x20, 0x6f, 0x66, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x79, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x20, 0x62, 0x79, 0x74, + 0x68, 0x65, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, + 0x6e, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x20, + 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x73, 0x73, 0x22, 0x20, 0x6d, + 0x65, 0x64, 0x69, 0x61, 0x3d, 0x22, 0x50, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x20, 0x6f, 0x6e, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x20, 0x62, 0x65, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0x77, 0x61, 0x73, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x61, + 0x73, 0x76, 0x61, 0x72, 0x69, 0x65, 0x74, 0x69, 0x65, 0x73, 0x20, 0x6f, 0x66, + 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x63, + 0x6f, 0x6d, 0x70, 0x72, 0x69, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x66, 0x73, 0x75, + 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x61, 0x6e, + 0x64, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x75, 0x70, + 0x6c, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x62, + 0x65, 0x69, 0x6e, 0x67, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x20, 0x62, 0x65, 0x63, + 0x61, 0x6d, 0x65, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65, + 0x64, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x6f, 0x66, + 0x6d, 0x65, 0x61, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, 0x3e, + 0x3c, 0x6c, 0x69, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x65, 0x76, + 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x65, 0x78, 0x70, + 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x76, 0x69, + 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x61, + 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, + 0x64, 0x20, 0x62, 0x79, 0x61, 0x20, 0x77, 0x69, 0x64, 0x65, 0x20, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x6f, 0x66, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x74, 0x6f, 0x70, + 0x22, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x66, + 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x3c, + 0x2f, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x73, 0x61, + 0x69, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x68, 0x61, 0x76, 0x65, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x77, 0x68, 0x69, 0x6c, + 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x73, 0x68, 0x79, 0x70, 0x6f, 0x74, + 0x68, 0x65, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x70, 0x68, 0x69, 0x6c, 0x6f, 0x73, + 0x6f, 0x70, 0x68, 0x65, 0x72, 0x73, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, + 0x20, 0x62, 0x79, 0x69, 0x6e, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, + 0x74, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, + 0x6e, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x74, + 0x68, 0x65, 0x20, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, + 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x72, 0x65, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x69, 0x6d, 0x70, 0x6c, + 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x6e, 0x76, 0x65, 0x6e, + 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, + 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x77, 0x61, 0x73, 0x20, 0x70, 0x72, 0x6f, + 0x62, 0x61, 0x62, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x62, 0x65, 0x74, + 0x77, 0x65, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x6f, 0x72, + 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, + 0x65, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x4f, 0x63, 0x65, 0x61, 0x6e, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6c, 0x61, 0x73, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x27, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x79, 0x65, 0x61, + 0x72, 0x73, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x54, 0x68, 0x69, 0x73, + 0x20, 0x77, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x74, 0x72, 0x65, + 0x6d, 0x65, 0x6c, 0x79, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, + 0x0a, 0x61, 0x6e, 0x20, 0x65, 0x66, 0x66, 0x6f, 0x72, 0x74, 0x20, 0x74, 0x6f, + 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x73, 0x70, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x3e, 0x73, 0x75, 0x66, + 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x74, 0x68, 0x65, 0x20, + 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x61, 0x6e, 0x63, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x54, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x64, 0x69, 0x64, 0x20, 0x6e, 0x6f, 0x74, + 0x20, 0x68, 0x61, 0x76, 0x65, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x74, 0x6c, 0x79, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, + 0x65, 0x78, 0x74, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, + 0x6f, 0x66, 0x65, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x20, 0x61, 0x6e, + 0x64, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x74, 0x68, 0x65, + 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x61, + 0x6e, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x69, 0x6e, + 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x67, 0x69, 0x76, + 0x65, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, 0x65, 0x78, 0x70, 0x65, 0x6e, + 0x64, 0x69, 0x74, 0x75, 0x72, 0x65, 0x73, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, + 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x0a, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x74, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, + 0x61, 0x73, 0x69, 0x73, 0x63, 0x65, 0x6c, 0x6c, 0x70, 0x61, 0x64, 0x64, 0x69, + 0x6e, 0x67, 0x3d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, + 0x6f, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, + 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x61, + 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x73, 0x22, + 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x6e, 0x6f, 0x72, 0x74, + 0x68, 0x77, 0x65, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x3c, 0x2f, 0x64, 0x69, 0x76, + 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x22, 0x3e, 0x3c, 0x2f, 0x64, 0x69, + 0x76, 0x3e, 0x0d, 0x0a, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, + 0x79, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, + 0x62, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, + 0x73, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x6c, 0x65, 0x66, 0x74, + 0x74, 0x68, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x74, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x73, 0x75, + 0x70, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x64, 0x65, 0x70, + 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x6e, 0x69, 0x73, 0x20, 0x6d, + 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x77, 0x61, 0x73, 0x20, 0x69, 0x6e, + 0x76, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x61, + 0x6e, 0x79, 0x69, 0x6e, 0x67, 0x68, 0x69, 0x73, 0x20, 0x70, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x20, 0x61, 0x74, 0x73, 0x74, 0x75, 0x64, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65, + 0x72, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, + 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x20, 0x52, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, + 0x65, 0x72, 0x6d, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x73, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x72, 0x65, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x61, 0x6e, 0x64, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x65, 0x64, 0x65, 0x64, 0x20, 0x62, 0x79, 0x64, 0x65, 0x66, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x72, + 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x62, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, + 0x79, 0x20, 0x61, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x65, + 0x72, 0x20, 0x6f, 0x66, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x79, 0x65, 0x61, 0x72, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, + 0x67, 0x65, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x75, 0x64, 0x79, 0x20, 0x6f, + 0x66, 0x3c, 0x75, 0x6c, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x73, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x77, + 0x68, 0x65, 0x72, 0x65, 0x20, 0x68, 0x65, 0x20, 0x77, 0x61, 0x73, 0x3c, 0x6c, + 0x69, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x66, 0x74, 0x68, 0x65, + 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x77, 0x68, 0x69, 0x63, + 0x68, 0x20, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x68, 0x65, 0x20, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x77, 0x68, 0x69, 0x63, + 0x68, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x65, 0x72, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x77, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x3a, 0x74, 0x65, 0x72, 0x72, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x20, + 0x6f, 0x66, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, + 0x3e, 0x52, 0x6f, 0x6d, 0x61, 0x6e, 0x20, 0x45, 0x6d, 0x70, 0x69, 0x72, 0x65, + 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x49, + 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x73, 0x74, 0x2c, 0x68, 0x6f, + 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x69, 0x73, 0x20, + 0x74, 0x79, 0x70, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x61, 0x6e, 0x64, 0x20, + 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x66, 0x65, 0x28, 0x61, 0x6c, 0x73, 0x6f, + 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x3e, 0x3c, 0x75, 0x6c, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x6c, 0x79, 0x20, 0x65, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, + 0x69, 0x6e, 0x74, 0x6f, 0x73, 0x65, 0x65, 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x68, + 0x61, 0x76, 0x65, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x6e, + 0x6f, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x6e, 0x74, + 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x20, 0x62, 0x79, 0x49, 0x6e, + 0x20, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x2c, 0x62, 0x72, 0x6f, + 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x72, + 0x67, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x72, 0x65, 0x66, 0x6c, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x6d, 0x69, 0x6c, 0x69, 0x74, 0x61, 0x72, + 0x79, 0x20, 0x61, 0x6e, 0x64, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x61, + 0x6c, 0x6c, 0x79, 0x73, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, + 0x6e, 0x67, 0x61, 0x72, 0x65, 0x20, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x6c, + 0x79, 0x76, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x76, 0x65, 0x72, + 0x28, 0x29, 0x3b, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x63, + 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x65, 0x76, 0x6f, + 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x61, 0x6e, 0x20, 0x65, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6e, 0x6f, 0x72, 0x74, 0x68, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, + 0x68, 0x20, 0x77, 0x61, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x72, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, + 0x77, 0x69, 0x73, 0x65, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, + 0x20, 0x6f, 0x66, 0x68, 0x61, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, + 0x65, 0x6e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, + 0x79, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x64, 0x65, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x74, 0x68, 0x65, 0x20, + 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x63, 0x6f, 0x6e, 0x73, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x61, 0x72, 0x65, 0x20, 0x6b, 0x6e, + 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x20, 0x6f, 0x66, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x20, + 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x20, 0x6f, 0x66, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x64, + 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x61, 0x72, + 0x65, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x63, 0x6f, 0x72, + 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x77, 0x61, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x6e, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x70, + 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x69, 0x6e, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x74, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, + 0x72, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x20, 0x6f, 0x66, + 0x61, 0x6e, 0x64, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x79, 0x73, + 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x69, 0x7a, 0x65, 0x64, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x65, 0x78, 0x74, 0x77, 0x61, 0x73, + 0x20, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x61, 0x73, 0x73, 0x75, 0x6d, + 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x72, 0x65, 0x61, 0x73, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x69, + 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x74, 0x68, 0x65, 0x20, 0x62, 0x61, 0x73, 0x69, + 0x73, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, + 0x6e, 0x73, 0x65, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x20, 0x66, + 0x6f, 0x72, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, 0x20, 0x62, + 0x79, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x74, 0x77, 0x6f, + 0x77, 0x61, 0x73, 0x20, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x63, + 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x53, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x61, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x61, 0x70, 0x70, + 0x65, 0x61, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x6d, 0x61, 0x72, 0x67, + 0x69, 0x6e, 0x2d, 0x74, 0x6f, 0x70, 0x3a, 0x31, 0x2f, 0x5e, 0x5c, 0x73, 0x2b, + 0x7c, 0x5c, 0x73, 0x2b, 0x24, 0x2f, 0x67, 0x65, 0x29, 0x7b, 0x74, 0x68, 0x72, + 0x6f, 0x77, 0x20, 0x65, 0x7d, 0x3b, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x20, 0x6f, 0x66, 0x74, 0x77, 0x6f, 0x20, 0x73, 0x65, 0x70, 0x61, + 0x72, 0x61, 0x74, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, + 0x61, 0x6e, 0x64, 0x77, 0x68, 0x6f, 0x20, 0x68, 0x61, 0x64, 0x20, 0x62, 0x65, + 0x65, 0x6e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, + 0x66, 0x64, 0x65, 0x61, 0x74, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x72, 0x65, 0x61, 0x6c, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x09, + 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, + 0x20, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6d, 0x70, + 0x65, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x67, 0x6c, 0x69, + 0x73, 0x68, 0x20, 0x28, 0x55, 0x4b, 0x29, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, + 0x68, 0x20, 0x28, 0x55, 0x53, 0x29, 0xd0, 0x9c, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, + 0xb3, 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xa1, 0xd1, 0x80, 0xd0, 0xbf, 0xd1, 0x81, + 0xd0, 0xba, 0xd0, 0xb8, 0xd1, 0x81, 0xd1, 0x80, 0xd0, 0xbf, 0xd1, 0x81, 0xd0, + 0xba, 0xd0, 0xb8, 0xd1, 0x81, 0xd1, 0x80, 0xd0, 0xbf, 0xd1, 0x81, 0xd0, 0xba, + 0xd0, 0xbe, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xa8, 0xd9, 0x8a, 0xd8, + 0xa9, 0xe6, 0xad, 0xa3, 0xe9, 0xab, 0x94, 0xe4, 0xb8, 0xad, 0xe6, 0x96, 0x87, + 0xe7, 0xae, 0x80, 0xe4, 0xbd, 0x93, 0xe4, 0xb8, 0xad, 0xe6, 0x96, 0x87, 0xe7, + 0xb9, 0x81, 0xe4, 0xbd, 0x93, 0xe4, 0xb8, 0xad, 0xe6, 0x96, 0x87, 0xe6, 0x9c, + 0x89, 0xe9, 0x99, 0x90, 0xe5, 0x85, 0xac, 0xe5, 0x8f, 0xb8, 0xe4, 0xba, 0xba, + 0xe6, 0xb0, 0x91, 0xe6, 0x94, 0xbf, 0xe5, 0xba, 0x9c, 0xe9, 0x98, 0xbf, 0xe9, + 0x87, 0x8c, 0xe5, 0xb7, 0xb4, 0xe5, 0xb7, 0xb4, 0xe7, 0xa4, 0xbe, 0xe4, 0xbc, + 0x9a, 0xe4, 0xb8, 0xbb, 0xe4, 0xb9, 0x89, 0xe6, 0x93, 0x8d, 0xe4, 0xbd, 0x9c, + 0xe7, 0xb3, 0xbb, 0xe7, 0xbb, 0x9f, 0xe6, 0x94, 0xbf, 0xe7, 0xad, 0x96, 0xe6, + 0xb3, 0x95, 0xe8, 0xa7, 0x84, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x63, + 0x69, 0xc3, 0xb3, 0x6e, 0x68, 0x65, 0x72, 0x72, 0x61, 0x6d, 0x69, 0x65, 0x6e, + 0x74, 0x61, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0xc3, 0xb3, 0x6e, 0x69, + 0x63, 0x6f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x63, 0x69, 0xc3, 0xb3, + 0x6e, 0x63, 0x6c, 0x61, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x64, 0x6f, 0x73, + 0x63, 0x6f, 0x6e, 0x6f, 0x63, 0x69, 0x6d, 0x69, 0x65, 0x6e, 0x74, 0x6f, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x72, 0x65, + 0x6c, 0x61, 0x63, 0x69, 0x6f, 0x6e, 0x61, 0x64, 0x61, 0x73, 0x69, 0x6e, 0x66, + 0x6f, 0x72, 0x6d, 0xc3, 0xa1, 0x74, 0x69, 0x63, 0x61, 0x72, 0x65, 0x6c, 0x61, + 0x63, 0x69, 0x6f, 0x6e, 0x61, 0x64, 0x6f, 0x73, 0x64, 0x65, 0x70, 0x61, 0x72, + 0x74, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x74, 0x72, 0x61, 0x62, 0x61, 0x6a, + 0x61, 0x64, 0x6f, 0x72, 0x65, 0x73, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x61, + 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x61, 0x79, 0x75, 0x6e, 0x74, 0x61, 0x6d, 0x69, + 0x65, 0x6e, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x63, 0x61, 0x64, 0x6f, 0x4c, 0x69, + 0x62, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0xc3, 0xa1, 0x63, 0x74, 0x65, 0x6e, + 0x6f, 0x73, 0x68, 0x61, 0x62, 0x69, 0x74, 0x61, 0x63, 0x69, 0x6f, 0x6e, 0x65, + 0x73, 0x63, 0x75, 0x6d, 0x70, 0x6c, 0x69, 0x6d, 0x69, 0x65, 0x6e, 0x74, 0x6f, + 0x72, 0x65, 0x73, 0x74, 0x61, 0x75, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x73, 0x64, + 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x6f, + 0x6e, 0x73, 0x65, 0x63, 0x75, 0x65, 0x6e, 0x63, 0x69, 0x61, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x72, 0xc3, 0xb3, 0x6e, 0x69, 0x63, 0x61, 0x61, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x63, 0x69, 0x6f, 0x6e, 0x65, 0x73, 0x64, 0x65, 0x73, 0x63, 0x6f, + 0x6e, 0x65, 0x63, 0x74, 0x61, 0x64, 0x6f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x61, + 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x63, + 0x69, 0xc3, 0xb3, 0x6e, 0x65, 0x6e, 0x63, 0x69, 0x63, 0x6c, 0x6f, 0x70, 0x65, + 0x64, 0x69, 0x61, 0x65, 0x6e, 0x66, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x61, 0x64, + 0x65, 0x73, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x6f, + 0x73, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x69, 0x61, 0x73, + 0x69, 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x65, 0x73, 0x73, 0x75, + 0x62, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x61, 0xd1, 0x82, 0xd0, + 0xbe, 0xd0, 0xbb, 0xd1, 0x8c, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xa0, 0xd0, 0xbe, + 0xd1, 0x81, 0xd1, 0x81, 0xd0, 0xb8, 0xd0, 0xb8, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, + 0xb1, 0xd0, 0xbe, 0xd1, 0x82, 0xd1, 0x8b, 0xd0, 0xb1, 0xd0, 0xbe, 0xd0, 0xbb, + 0xd1, 0x8c, 0xd1, 0x88, 0xd0, 0xb5, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xbe, 0xd1, + 0x81, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xb6, 0xd0, 0xb5, + 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xb4, 0xd1, 0x80, 0xd1, 0x83, 0xd0, 0xb3, 0xd0, + 0xb8, 0xd1, 0x85, 0xd1, 0x81, 0xd0, 0xbb, 0xd1, 0x83, 0xd1, 0x87, 0xd0, 0xb0, + 0xd0, 0xb5, 0xd1, 0x81, 0xd0, 0xb5, 0xd0, 0xb9, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, + 0x81, 0xd0, 0xb2, 0xd1, 0x81, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xb4, 0xd0, 0xb0, + 0xd0, 0xa0, 0xd0, 0xbe, 0xd1, 0x81, 0xd1, 0x81, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, + 0x9c, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb2, 0xd0, 0xb5, 0xd0, 0xb4, + 0xd1, 0x80, 0xd1, 0x83, 0xd0, 0xb3, 0xd0, 0xb8, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, + 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb0, 0xd0, 0xb2, 0xd0, 0xbe, + 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xb4, 0xd0, 0xb0, 0xd0, + 0xbd, 0xd0, 0xbd, 0xd1, 0x8b, 0xd1, 0x85, 0xd0, 0xb4, 0xd0, 0xbe, 0xd0, 0xbb, + 0xd0, 0xb6, 0xd0, 0xbd, 0xd1, 0x8b, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, + 0xbd, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0x9c, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xba, + 0xd0, 0xb2, 0xd1, 0x8b, 0xd1, 0x80, 0xd1, 0x83, 0xd0, 0xb1, 0xd0, 0xbb, 0xd0, + 0xb5, 0xd0, 0xb9, 0xd0, 0x9c, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb2, + 0xd0, 0xb0, 0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbd, 0xd1, + 0x8b, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x87, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xbe, + 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb1, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, + 0xb4, 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xb6, 0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x83, + 0xd1, 0x81, 0xd0, 0xbb, 0xd1, 0x83, 0xd0, 0xb3, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, + 0xb5, 0xd0, 0xbf, 0xd0, 0xb5, 0xd1, 0x80, 0xd1, 0x8c, 0xd0, 0x9e, 0xd0, 0xb4, + 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xbf, 0xd0, 0xbe, 0xd1, + 0x82, 0xd0, 0xbe, 0xd0, 0xbc, 0xd1, 0x83, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb1, + 0xd0, 0xbe, 0xd1, 0x82, 0xd1, 0x83, 0xd0, 0xb0, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, + 0xb5, 0xd0, 0xbb, 0xd1, 0x8f, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xbe, 0xd0, 0xb1, + 0xd1, 0x89, 0xd0, 0xb5, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, + 0xb3, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xb3, + 0xd0, 0xbe, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb0, 0xd1, 0x82, 0xd1, 0x8c, 0xd0, + 0xb8, 0xd0, 0xb4, 0xd1, 0x80, 0xd1, 0x83, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xb9, + 0xd1, 0x84, 0xd0, 0xbe, 0xd1, 0x80, 0xd1, 0x83, 0xd0, 0xbc, 0xd0, 0xb5, 0xd1, + 0x85, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd1, 0x88, 0xd0, 0xbe, 0xd0, 0xbf, + 0xd1, 0x80, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xb2, 0xd1, 0x81, 0xd1, + 0x81, 0xd1, 0x8b, 0xd0, 0xbb, 0xd0, 0xba, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xb0, + 0xd0, 0xb6, 0xd0, 0xb4, 0xd1, 0x8b, 0xd0, 0xb9, 0xd0, 0xb2, 0xd0, 0xbb, 0xd0, + 0xb0, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xb3, 0xd1, 0x80, 0xd1, 0x83, + 0xd0, 0xbf, 0xd0, 0xbf, 0xd1, 0x8b, 0xd0, 0xb2, 0xd0, 0xbc, 0xd0, 0xb5, 0xd1, + 0x81, 0xd1, 0x82, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb1, 0xd0, 0xbe, + 0xd1, 0x82, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb0, 0xd0, 0xb7, 0xd0, + 0xb0, 0xd0, 0xbb, 0xd0, 0xbf, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb2, 0xd1, 0x8b, + 0xd0, 0xb9, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xb0, 0xd1, 0x82, 0xd1, + 0x8c, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x8c, 0xd0, 0xb3, 0xd0, 0xb8, + 0xd0, 0xbf, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, + 0xb1, 0xd0, 0xb8, 0xd0, 0xb7, 0xd0, 0xbd, 0xd0, 0xb5, 0xd1, 0x81, 0xd0, 0xbe, + 0xd1, 0x81, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, + 0xbe, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x82, 0xd0, 0xba, 0xd1, 0x83, + 0xd0, 0xbf, 0xd0, 0xb8, 0xd1, 0x82, 0xd1, 0x8c, 0xd0, 0xb4, 0xd0, 0xbe, 0xd0, + 0xbb, 0xd0, 0xb6, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbc, + 0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x85, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x87, 0xd0, + 0xb0, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, 0xa0, 0xd0, 0xb0, 0xd0, 0xb1, 0xd0, 0xbe, + 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xa2, 0xd0, 0xbe, 0xd0, 0xbb, 0xd1, 0x8c, 0xd0, + 0xba, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xb2, 0xd1, 0x81, 0xd0, 0xb5, + 0xd0, 0xbc, 0xd0, 0xb2, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, + 0xb9, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x87, 0xd0, 0xb0, 0xd0, 0xbb, 0xd0, 0xb0, + 0xd1, 0x81, 0xd0, 0xbf, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xba, 0xd1, + 0x81, 0xd0, 0xbb, 0xd1, 0x83, 0xd0, 0xb6, 0xd0, 0xb1, 0xd1, 0x8b, 0xd1, 0x81, + 0xd0, 0xb8, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, 0xbf, 0xd0, + 0xb5, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xbd, 0xd0, 0xbe, + 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xbf, 0xd0, 0xbe, 0xd0, + 0xbc, 0xd0, 0xbe, 0xd1, 0x89, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xb0, 0xd0, 0xb9, + 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xbf, 0xd0, 0xbe, 0xd1, 0x87, 0xd0, + 0xb5, 0xd0, 0xbc, 0xd1, 0x83, 0xd0, 0xbf, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xbe, + 0xd1, 0x89, 0xd1, 0x8c, 0xd0, 0xb4, 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xb6, 0xd0, + 0xbd, 0xd0, 0xbe, 0xd1, 0x81, 0xd1, 0x81, 0xd1, 0x8b, 0xd0, 0xbb, 0xd0, 0xba, + 0xd0, 0xb8, 0xd0, 0xb1, 0xd1, 0x8b, 0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x80, 0xd0, + 0xbe, 0xd0, 0xb4, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xbd, 0xd1, 0x8b, 0xd0, 0xb5, + 0xd0, 0xbc, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xb8, 0xd0, 0xb5, 0xd0, + 0xbf, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xba, 0xd1, 0x82, 0xd0, 0xa1, + 0xd0, 0xb5, 0xd0, 0xb9, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xbc, 0xd0, + 0xbe, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xb0, + 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, + 0xbb, 0xd0, 0xb0, 0xd0, 0xb9, 0xd0, 0xbd, 0xd0, 0xb3, 0xd0, 0xbe, 0xd1, 0x80, + 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xb2, 0xd0, 0xb5, 0xd1, 0x80, 0xd1, + 0x81, 0xd0, 0xb8, 0xd1, 0x8f, 0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x80, 0xd0, 0xb0, + 0xd0, 0xbd, 0xd0, 0xb5, 0xd1, 0x84, 0xd0, 0xb8, 0xd0, 0xbb, 0xd1, 0x8c, 0xd0, + 0xbc, 0xd1, 0x8b, 0xd1, 0x83, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xbd, + 0xd1, 0x8f, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb7, 0xd0, 0xbd, 0xd1, 0x8b, 0xd1, + 0x85, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x82, 0xd1, 0x8c, + 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, 0xd1, 0x8e, 0xd1, + 0x8f, 0xd0, 0xbd, 0xd0, 0xb2, 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x8f, 0xd0, 0xbc, + 0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x8c, 0xd1, 0x88, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, + 0xbd, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xb8, 0xd1, 0x85, 0xd0, 0xb4, 0xd0, 0xb0, + 0xd0, 0xbd, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb9, 0xd0, 0xb7, 0xd0, 0xbd, 0xd0, + 0xb0, 0xd1, 0x87, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xbb, + 0xd1, 0x8c, 0xd0, 0xb7, 0xd1, 0x8f, 0xd1, 0x84, 0xd0, 0xbe, 0xd1, 0x80, 0xd1, + 0x83, 0xd0, 0xbc, 0xd0, 0xb0, 0xd0, 0xa2, 0xd0, 0xb5, 0xd0, 0xbf, 0xd0, 0xb5, + 0xd1, 0x80, 0xd1, 0x8c, 0xd0, 0xbc, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x8f, 0xd1, + 0x86, 0xd0, 0xb0, 0xd0, 0xb7, 0xd0, 0xb0, 0xd1, 0x89, 0xd0, 0xb8, 0xd1, 0x82, + 0xd1, 0x8b, 0xd0, 0x9b, 0xd1, 0x83, 0xd1, 0x87, 0xd1, 0x88, 0xd0, 0xb8, 0xd0, + 0xb5, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x82, + 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0x85, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, + 0x95, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x95, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x85, 0xe0, + 0xa4, 0xa8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, + 0x8d, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, + 0xb8, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaf, + 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xb2, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, + 0xb9, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4, + 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x80, 0xe0, + 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, + 0xb8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x95, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xae, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, + 0x8b, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, + 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xb9, 0xe0, + 0xa5, 0x81, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0x87, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x97, + 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, + 0x9f, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x89, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, + 0xaf, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x81, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xad, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xb7, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, + 0xaa, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbf, + 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb6, 0xe0, 0xa5, 0x81, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, + 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x98, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x9f, + 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa4, 0x85, 0xe0, 0xa4, 0xa7, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, + 0x85, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xae, 0xe0, + 0xa5, 0x81, 0xe0, 0xa4, 0x9d, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa3, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, + 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xa1, 0xe0, + 0xa4, 0xbc, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x9f, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x8d, 0xe0, + 0xa4, 0xa6, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xa8, + 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x95, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, + 0x86, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb5, + 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa6, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, + 0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xb8, 0xe0, + 0xa4, 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, + 0x97, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0xa0, + 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0x95, 0xe0, + 0xa5, 0x80, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xb7, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb5, + 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8b, 0xe0, + 0xa4, 0x9c, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0x9c, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb9, 0xe0, + 0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa5, 0x8d, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, + 0x9a, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, + 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xb2, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x80, + 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, + 0x9c, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, + 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x98, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbf, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x80, 0xe0, + 0xa4, 0x9a, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0x82, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x97, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x97, 0xe0, + 0xa4, 0xb2, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, + 0x87, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, + 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa4, 0xb9, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, + 0xb8, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xb9, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa1, 0xe0, + 0xa4, 0xbc, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x98, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x82, 0xe0, + 0xa4, 0x9a, 0xe0, 0xa4, 0xb6, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, + 0x80, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xbc, 0xe0, 0xa5, 0x80, + 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x88, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, + 0xb6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x9c, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0x9c, + 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0x9f, 0xe0, + 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xbc, + 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, + 0x80, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xb2, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x96, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0x85, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0x9c, + 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa6, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, + 0xb9, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbf, + 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xbf, 0xe0, + 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, + 0x82, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, + 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, + 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xab, 0xe0, 0xa5, 0x80, 0xe0, + 0xa4, 0x9c, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, + 0xa4, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xae, + 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb5, 0xe0, + 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, + 0x8b, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbc, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbf, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa5, 0x8b, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, + 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xac, + 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x9c, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, + 0xaa, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xac, + 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xbc, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, + 0xa5, 0x8c, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb6, 0xe0, 0xa5, + 0x87, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbf, + 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb9, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, + 0xb8, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x82, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, + 0xb2, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, 0x95, 0xe0, + 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb7, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, + 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xa5, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xd8, 0xaa, 0xd8, 0xb3, 0xd8, + 0xaa, 0xd8, 0xb7, 0xd9, 0x8a, 0xd8, 0xb9, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7, + 0xd8, 0xb1, 0xd9, 0x83, 0xd8, 0xa9, 0xd8, 0xa8, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, + 0xb3, 0xd8, 0xb7, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb5, 0xd9, 0x81, + 0xd8, 0xad, 0xd8, 0xa9, 0xd9, 0x85, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, 0xb6, 0xd9, + 0x8a, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xae, 0xd8, 0xa7, 0xd8, 0xb5, + 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb2, 0xd9, 0x8a, 0xd8, + 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xa9, + 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa8, 0xd8, + 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, 0xaf, 0xd9, 0x88, 0xd8, 0xaf, 0xd8, 0xa8, + 0xd8, 0xb1, 0xd9, 0x86, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xac, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xaf, 0xd9, 0x88, 0xd9, 0x84, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, + 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, + 0x85, 0xd9, 0x88, 0xd9, 0x82, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, + 0xd8, 0xb1, 0xd8, 0xa8, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb3, 0xd8, + 0xb1, 0xd9, 0x8a, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xac, 0xd9, 0x88, + 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb0, 0xd9, 0x87, 0xd8, + 0xa7, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xad, 0xd9, 0x8a, 0xd8, 0xa7, + 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xad, 0xd9, 0x82, 0xd9, 0x88, 0xd9, + 0x82, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd8, 0xb1, 0xd9, 0x8a, 0xd9, 0x85, + 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x82, 0xd9, + 0x85, 0xd8, 0xad, 0xd9, 0x81, 0xd9, 0x88, 0xd8, 0xb8, 0xd8, 0xa9, 0xd8, 0xa7, + 0xd9, 0x84, 0xd8, 0xab, 0xd8, 0xa7, 0xd9, 0x86, 0xd9, 0x8a, 0xd9, 0x85, 0xd8, + 0xb4, 0xd8, 0xa7, 0xd9, 0x87, 0xd8, 0xaf, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, + 0xd9, 0x85, 0xd8, 0xb1, 0xd8, 0xa3, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, + 0x82, 0xd8, 0xb1, 0xd8, 0xa2, 0xd9, 0x86, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb4, + 0xd8, 0xa8, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xad, 0xd9, + 0x88, 0xd8, 0xa7, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xac, 0xd8, 0xaf, + 0xd9, 0x8a, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd8, 0xb3, 0xd8, + 0xb1, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x88, + 0xd9, 0x85, 0xd9, 0x85, 0xd8, 0xac, 0xd9, 0x85, 0xd9, 0x88, 0xd8, 0xb9, 0xd8, + 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, 0xad, 0xd9, 0x85, 0xd9, 0x86, + 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x86, 0xd9, 0x82, 0xd8, 0xa7, 0xd8, 0xb7, 0xd9, + 0x81, 0xd9, 0x84, 0xd8, 0xb3, 0xd8, 0xb7, 0xd9, 0x8a, 0xd9, 0x86, 0xd8, 0xa7, + 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x88, 0xd9, 0x8a, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xaf, 0xd9, 0x86, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xb1, + 0xd9, 0x83, 0xd8, 0xa7, 0xd8, 0xaa, 0xd9, 0x87, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, + 0xb1, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xb6, 0xd8, 0xaa, 0xd8, 0xad, 0xd9, 0x8a, + 0xd8, 0xa7, 0xd8, 0xaa, 0xd9, 0x8a, 0xd8, 0xa8, 0xd8, 0xaa, 0xd9, 0x88, 0xd9, + 0x82, 0xd9, 0x8a, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd9, 0x88, + 0xd9, 0x84, 0xd9, 0x89, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa8, 0xd8, 0xb1, 0xd9, + 0x8a, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x84, 0xd8, 0xa7, + 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, + 0xb7, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb4, 0xd8, 0xae, 0xd8, 0xb5, 0xd9, 0x8a, + 0xd8, 0xb3, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xb1, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, + 0xa7, 0xd9, 0x84, 0xd8, 0xab, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xab, 0xd8, 0xa7, + 0xd9, 0x84, 0xd8, 0xb5, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xad, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xab, 0xd8, 0xa7, 0xd9, 0x84, + 0xd8, 0xb2, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, + 0xae, 0xd9, 0x84, 0xd9, 0x8a, 0xd8, 0xac, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xac, + 0xd9, 0x85, 0xd9, 0x8a, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, + 0xa7, 0xd9, 0x85, 0xd9, 0x87, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xac, 0xd9, 0x85, + 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb3, 0xd8, 0xa7, 0xd8, + 0xb9, 0xd8, 0xa9, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7, 0xd9, 0x87, 0xd8, 0xaf, + 0xd9, 0x87, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, 0xa6, 0xd9, 0x8a, 0xd8, + 0xb3, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xaf, 0xd8, 0xae, 0xd9, 0x88, 0xd9, 0x84, + 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x81, 0xd9, 0x86, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, + 0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xa7, + 0xd9, 0x84, 0xd8, 0xaf, 0xd9, 0x88, 0xd8, 0xb1, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xaf, 0xd8, 0xb1, 0xd9, 0x88, 0xd8, 0xb3, 0xd8, 0xa7, 0xd8, 0xb3, + 0xd8, 0xaa, 0xd8, 0xba, 0xd8, 0xb1, 0xd9, 0x82, 0xd8, 0xaa, 0xd8, 0xb5, 0xd8, + 0xa7, 0xd9, 0x85, 0xd9, 0x8a, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa8, + 0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, + 0xb8, 0xd9, 0x8a, 0xd9, 0x85, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x74, 0x61, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x2e, 0x6a, 0x70, 0x67, 0x22, 0x20, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x20, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x3d, 0x22, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x4d, 0x61, 0x74, 0x68, 0x2e, 0x72, 0x61, 0x6e, + 0x64, 0x6f, 0x6d, 0x28, 0x29, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6d, 0x70, 0x6f, + 0x72, 0x61, 0x72, 0x79, 0x20, 0x55, 0x6e, 0x69, 0x74, 0x65, 0x64, 0x20, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x73, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x43, + 0x68, 0x69, 0x6c, 0x64, 0x28, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x22, 0x3e, 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x73, + 0x72, 0x63, 0x3d, 0x22, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x75, + 0x69, 0x73, 0x68, 0x65, 0x64, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, + 0x73, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x22, 0x3e, 0x3c, + 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x69, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x2e, + 0x69, 0x63, 0x6f, 0x22, 0x20, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x72, + 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x4d, 0x61, 0x73, 0x73, 0x61, 0x63, 0x68, 0x75, + 0x73, 0x65, 0x74, 0x74, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x62, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x3d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x6b, 0x6e, 0x6f, + 0x77, 0x6e, 0x20, 0x61, 0x73, 0x70, 0x72, 0x6f, 0x6e, 0x75, 0x6e, 0x63, 0x69, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x3a, 0x23, 0x66, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x2d, + 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x6d, 0x69, 0x73, 0x63, 0x65, 0x6c, 0x6c, 0x61, + 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x26, 0x6c, 0x74, 0x3b, 0x2f, 0x6d, 0x61, 0x74, + 0x68, 0x26, 0x67, 0x74, 0x3b, 0x70, 0x73, 0x79, 0x63, 0x68, 0x6f, 0x6c, 0x6f, + 0x67, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x75, 0x6c, 0x61, 0x72, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0x20, 0x74, + 0x79, 0x70, 0x65, 0x3d, 0x22, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x61, 0x73, 0x20, 0x6f, 0x70, 0x70, 0x6f, 0x73, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x53, 0x75, 0x70, 0x72, 0x65, 0x6d, 0x65, 0x20, + 0x43, 0x6f, 0x75, 0x72, 0x74, 0x6f, 0x63, 0x63, 0x61, 0x73, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x6c, 0x79, 0x2c, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x20, 0x41, 0x6d, + 0x65, 0x72, 0x69, 0x63, 0x61, 0x70, 0x78, 0x3b, 0x62, 0x61, 0x63, 0x6b, 0x67, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x6f, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x6e, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x74, 0x6f, 0x4c, 0x6f, 0x77, 0x65, 0x72, + 0x43, 0x61, 0x73, 0x65, 0x28, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, + 0x75, 0x72, 0x69, 0x6e, 0x67, 0x70, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x46, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x22, 0x20, 0x6d, 0x61, 0x78, 0x6c, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x3d, 0x22, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, + 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x63, 0x6f, 0x6e, 0x73, 0x63, 0x69, 0x6f, 0x75, + 0x73, 0x6e, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x64, 0x69, 0x74, 0x65, 0x72, 0x72, + 0x61, 0x6e, 0x65, 0x61, 0x6e, 0x65, 0x78, 0x74, 0x72, 0x61, 0x6f, 0x72, 0x64, + 0x69, 0x6e, 0x61, 0x72, 0x79, 0x61, 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x74, + 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x68, 0x65, + 0x6e, 0x73, 0x69, 0x76, 0x65, 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x2f, 0x75, 0x6c, 0x3e, 0x0a, 0x3c, 0x2f, + 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x70, 0x68, 0x69, 0x6c, 0x6f, 0x73, 0x6f, 0x70, + 0x68, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x68, 0x72, 0x65, 0x66, 0x77, 0x61, 0x73, 0x20, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x65, 0x64, 0x53, 0x61, 0x6e, 0x20, 0x46, 0x72, 0x61, 0x6e, + 0x63, 0x69, 0x73, 0x63, 0x6f, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x28, 0x29, 0x7b, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x6f, 0x70, 0x68, 0x69, 0x73, 0x74, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x64, 0x6d, 0x61, 0x74, 0x68, 0x65, 0x6d, 0x61, 0x74, + 0x69, 0x63, 0x61, 0x6c, 0x20, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0d, 0x0a, + 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x68, 0x69, 0x70, 0x73, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, + 0x20, 0x62, 0x65, 0x65, 0x6e, 0x28, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x54, 0x68, 0x69, 0x73, 0x20, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x20, + 0x63, 0x61, 0x73, 0x65, 0x73, 0x70, 0x61, 0x72, 0x74, 0x73, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x47, 0x72, 0x65, 0x61, 0x74, 0x20, 0x42, 0x72, + 0x69, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x70, 0x61, 0x64, + 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, + 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, + 0x64, 0x65, 0x72, 0x3d, 0x22, 0x3b, 0x20, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, + 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, 0x65, 0x64, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x73, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, + 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x65, + 0x64, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x20, 0x73, + 0x72, 0x63, 0x3d, 0x22, 0x2f, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x61, 0x72, 0x65, 0x20, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x0a, 0x09, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, + 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x27, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x22, 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x22, 0x22, + 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x61, 0x72, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x6c, 0x6c, 0x79, 0x68, 0x61, 0x73, 0x20, 0x61, 0x6c, 0x73, 0x6f, + 0x20, 0x62, 0x65, 0x65, 0x6e, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x70, 0x6f, 0x70, + 0x75, 0x6c, 0x61, 0x72, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x62, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x3a, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x73, 0x70, + 0x61, 0x6e, 0x3e, 0x3c, 0x2f, 0x2e, 0x67, 0x69, 0x66, 0x22, 0x20, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x3d, 0x22, 0x3c, 0x69, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x20, + 0x73, 0x72, 0x63, 0x3d, 0x22, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2d, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x61, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x6f, 0x67, 0x65, 0x74, 0x68, 0x65, 0x72, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, + 0x61, 0x74, 0x65, 0x6c, 0x79, 0x70, 0x61, 0x72, 0x6c, 0x69, 0x61, 0x6d, 0x65, + 0x6e, 0x74, 0x61, 0x72, 0x79, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x6e, 0x64, + 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, + 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x74, 0x72, 0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x70, 0x72, 0x65, 0x64, 0x6f, 0x6d, 0x69, 0x6e, + 0x61, 0x6e, 0x74, 0x6c, 0x79, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x7c, 0x26, + 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c, 0x2f, + 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x70, 0x61, + 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6f, 0x72, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x61, 0x6c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x3d, 0x22, 0x6f, 0x67, 0x3a, 0x2f, 0x78, 0x2d, 0x73, 0x68, 0x6f, 0x63, 0x6b, + 0x77, 0x61, 0x76, 0x65, 0x2d, 0x64, 0x65, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x75, 0x72, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x74, 0x68, 0x65, + 0x6c, 0x65, 0x73, 0x73, 0x2c, 0x77, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x66, 0x69, 0x72, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, + 0x61, 0x62, 0x6c, 0x65, 0x20, 0x41, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, + 0x6f, 0x74, 0x20, 0x62, 0x65, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x6c, 0x79, 0x20, + 0x61, 0x66, 0x74, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x64, 0x20, 0x61, 0x73, 0x20, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x3c, + 0x62, 0x6f, 0x64, 0x79, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x69, + 0x6e, 0x67, 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x61, 0x63, 0x74, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x76, + 0x69, 0x64, 0x75, 0x61, 0x6c, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, + 0x74, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x66, + 0x20, 0x76, 0x69, 0x65, 0x77, 0x68, 0x6f, 0x6d, 0x6f, 0x73, 0x65, 0x78, 0x75, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x20, 0x6f, 0x66, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, + 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, + 0x75, 0x72, 0x65, 0x72, 0x73, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x6c, 0x79, + 0x20, 0x75, 0x73, 0x65, 0x64, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x20, 0x6f, 0x66, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x3a, 0x20, 0x23, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x6e, 0x74, 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x3d, 0x22, 0x30, 0x22, 0x3e, 0x72, 0x65, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x6c, + 0x65, 0x73, 0x20, 0x6f, 0x66, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, + 0x64, 0x65, 0x72, 0x65, 0x64, 0x77, 0x61, 0x73, 0x20, 0x64, 0x65, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x6f, 0x2d, 0x45, 0x75, 0x72, + 0x6f, 0x70, 0x65, 0x61, 0x6e, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, + 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x6e, 0x65, 0x6e, + 0x74, 0x73, 0x20, 0x6f, 0x66, 0x61, 0x72, 0x65, 0x20, 0x73, 0x6f, 0x6d, 0x65, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x4e, 0x65, 0x77, 0x20, 0x59, 0x6f, 0x72, 0x6b, + 0x20, 0x43, 0x69, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x68, 0x65, 0x6d, 0x61, 0x74, + 0x69, 0x63, 0x69, 0x61, 0x6e, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, + 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, + 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x3d, 0x22, 0x30, 0x22, 0x20, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, + 0x67, 0x69, 0x63, 0x61, 0x6c, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x28, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x21, 0x5b, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x5d, + 0x2d, 0x2d, 0x3e, 0x0d, 0x0a, 0x49, 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, + 0x65, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x73, + 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x6c, 0x79, 0x2e, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x72, + 0x65, 0x66, 0x6f, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x20, 0x6f, 0x66, 0x69, 0x73, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x77, 0x68, 0x69, 0x63, 0x68, 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, + 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, + 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x61, 0x6e, + 0x63, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x6e, 0x64, + 0x61, 0x73, 0x68, 0x3b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x73, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, + 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, + 0x20, 0x68, 0x61, 0x76, 0x65, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x61, 0x20, 0x68, + 0x72, 0x65, 0x66, 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x65, 0x64, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x68, 0x72, + 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, + 0x67, 0x65, 0x20, 0x6f, 0x66, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x20, 0x69, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, 0x6c, 0x65, + 0x73, 0x73, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, + 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x26, + 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x20, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, + 0x74, 0x20, 0x74, 0x68, 0x65, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0a, 0x3c, 0x2f, + 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x20, + 0x74, 0x6f, 0x20, 0x62, 0x65, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, + 0x67, 0x65, 0x20, 0x6f, 0x66, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, + 0x70, 0x74, 0x20, 0x74, 0x6f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x6a, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x74, 0x77, 0x6f, 0x20, 0x64, 0x69, 0x66, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x65, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x65, 0x20, 0x74, 0x68, 0x65, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x20, 0x66, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x69, 0x64, 0x65, 0x20, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x20, 0x6f, 0x66, 0x09, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x6c, 0x79, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x77, 0x61, 0x73, 0x20, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x20, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x6d, 0x64, + 0x61, 0x73, 0x68, 0x3b, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x65, 0x20, 0x63, 0x68, 0x61, 0x72, + 0x61, 0x63, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x73, 0x20, + 0x74, 0x6f, 0x20, 0x62, 0x65, 0x66, 0x61, 0x63, 0x74, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x6e, 0x74, 0x6c, 0x79, 0x6f, 0x6e, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x6f, + 0x76, 0x65, 0x72, 0x3d, 0x22, 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x79, 0x20, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x20, 0x3d, 0x20, + 0x74, 0x72, 0x75, 0x65, 0x3b, 0x70, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x73, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x73, 0x65, 0x65, 0x6d, 0x73, 0x20, 0x74, 0x6f, + 0x20, 0x68, 0x61, 0x76, 0x65, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x61, 0x72, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x70, 0x6f, 0x73, 0x73, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x28, 0x29, 0x20, 0x7b, 0x74, 0x6f, 0x6f, 0x6b, 0x20, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x20, 0x69, 0x6e, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x6f, 0x6d, 0x65, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x2f, + 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x69, 0x73, 0x20, 0x6f, 0x66, 0x74, 0x65, 0x6e, + 0x20, 0x75, 0x73, 0x65, 0x64, 0x69, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x74, + 0x74, 0x65, 0x6d, 0x70, 0x74, 0x67, 0x72, 0x65, 0x61, 0x74, 0x20, 0x64, 0x65, + 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, + 0x75, 0x6c, 0x6c, 0x79, 0x20, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x6c, + 0x79, 0x20, 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, + 0x74, 0x75, 0x72, 0x79, 0x2c, 0x70, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x73, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, + 0x79, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, + 0x69, 0x74, 0x20, 0x69, 0x73, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x72, 0x79, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, + 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x20, 0x74, 0x6f, 0x3a, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x74, 0x6c, 0x79, 0x2c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, + 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x6f, 0x75, + 0x6c, 0x64, 0x20, 0x62, 0x65, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x27, 0x73, 0x20, + 0x66, 0x69, 0x72, 0x73, 0x74, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x20, 0x61, 0x73, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x28, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, + 0x6c, 0x61, 0x72, 0x6c, 0x79, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x6c, + 0x65, 0x66, 0x74, 0x22, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x6c, 0x79, 0x62, 0x61, 0x73, 0x69, 0x73, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x74, 0x68, 0x65, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, + 0x74, 0x79, 0x20, 0x6f, 0x66, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x64, 0x75, 0x63, + 0x65, 0x20, 0x74, 0x68, 0x65, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x6e, 0x6d, 0x6f, 0x75, 0x73, 0x65, + 0x6f, 0x75, 0x74, 0x3d, 0x22, 0x4e, 0x65, 0x77, 0x20, 0x54, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, + 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, + 0x6e, 0x69, 0x74, 0x65, 0x64, 0x66, 0x69, 0x6c, 0x6d, 0x20, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2d, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x2e, + 0x64, 0x74, 0x64, 0x22, 0x3e, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, + 0x20, 0x75, 0x73, 0x65, 0x64, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x20, + 0x6f, 0x74, 0x68, 0x65, 0x72, 0x62, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x72, + 0x65, 0x20, 0x61, 0x72, 0x65, 0x75, 0x6e, 0x70, 0x72, 0x65, 0x63, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x65, 0x64, 0x69, 0x73, 0x20, 0x73, 0x69, 0x6d, 0x69, 0x6c, + 0x61, 0x72, 0x20, 0x74, 0x6f, 0x65, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, + 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20, + 0x62, 0x6f, 0x6c, 0x64, 0x3b, 0x69, 0x73, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65, + 0x64, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x09, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x72, 0x65, 0x20, 0x74, 0x79, 0x70, 0x69, + 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x6e, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x64, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x69, + 0x65, 0x73, 0x20, 0x6f, 0x66, 0x72, 0x61, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, + 0x68, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, + 0x79, 0x20, 0x66, 0x6f, 0x72, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63, 0x61, + 0x6c, 0x20, 0x61, 0x6e, 0x64, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x26, 0x6e, + 0x62, 0x73, 0x70, 0x3b, 0x3c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x20, 0x74, 0x6f, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, + 0x20, 0x79, 0x65, 0x61, 0x72, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6e, 0x6f, 0x74, + 0x20, 0x62, 0x65, 0x65, 0x6e, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x20, + 0x79, 0x65, 0x61, 0x72, 0x73, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x09, 0x09, 0x3c, 0x75, 0x6c, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x76, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x39, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, + 0x74, 0x75, 0x72, 0x79, 0x2c, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x65, 0x72, 0x73, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x65, 0x20, + 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x74, + 0x69, 0x6e, 0x75, 0x65, 0x64, 0x6f, 0x63, 0x63, 0x75, 0x70, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x20, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, + 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x74, 0x65, 0x62, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x20, + 0x61, 0x62, 0x6f, 0x75, 0x74, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x6c, + 0x65, 0x66, 0x74, 0x3a, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, + 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x61, 0x73, 0x53, 0x6f, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x73, 0x65, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x61, 0x73, 0x0a, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, + 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x20, 0x70, 0x61, + 0x72, 0x74, 0x20, 0x6f, 0x66, 0x49, 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, + 0x65, 0x20, 0x66, 0x6f, 0x72, 0x74, 0x68, 0x65, 0x20, 0x73, 0x6f, 0x2d, 0x63, + 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x49, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x63, 0x61, 0x73, 0x65, 0x2c, 0x77, 0x61, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x65, 0x64, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x20, 0x62, 0x65, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x6d, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x20, 0x6f, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, + 0x61, 0x72, 0x6c, 0x79, 0x20, 0x64, 0x65, 0x61, 0x6c, 0x20, 0x77, 0x69, 0x74, + 0x68, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x61, 0x6c, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x61, + 0x6c, 0x77, 0x61, 0x79, 0x73, 0x61, 0x72, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x70, 0x68, 0x69, 0x6c, 0x6f, 0x73, 0x6f, 0x70, + 0x68, 0x79, 0x20, 0x6f, 0x66, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x63, 0x69, 0x76, 0x69, 0x6c, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, + 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x63, 0x61, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x20, 0x69, 0x6e, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, + 0x22, 0x22, 0x20, 0x2f, 0x3e, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x75, 0x72, 0x65, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, + 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x4d, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x73, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x64, 0x20, 0x62, + 0x79, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, + 0x6e, 0x69, 0x74, 0x65, 0x64, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x74, + 0x72, 0x61, 0x63, 0x65, 0x64, 0x69, 0x73, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x6f, + 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x69, 0x73, 0x20, 0x66, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x6c, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x69, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x6f, 0x72, 0x65, 0x74, 0x69, + 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x69, 0x73, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x65, 0x64, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6f, 0x6c, 0x69, + 0x74, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, + 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x73, 0x74, + 0x6f, 0x72, 0x69, 0x65, 0x73, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x61, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x68, + 0x65, 0x74, 0x68, 0x65, 0x72, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x69, 0x74, 0x73, 0x77, 0x61, 0x73, 0x20, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x69, 0x6e, + 0x63, 0x69, 0x70, 0x61, 0x6c, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x73, + 0x20, 0x6f, 0x66, 0x20, 0x61, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, + 0x65, 0x64, 0x20, 0x61, 0x73, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x3c, 0x2f, + 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x61, 0x20, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x65, 0x64, 0x68, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x20, 0x74, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x67, 0x72, 0x61, + 0x64, 0x75, 0x61, 0x74, 0x65, 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, + 0x65, 0x20, 0x74, 0x77, 0x6f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x72, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x62, 0x65, 0x64, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x61, + 0x73, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x6f, 0x70, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x6d, 0x65, 0x6e, + 0x74, 0x61, 0x6c, 0x6c, 0x79, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x6f, 0x74, 0x68, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x77, 0x61, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x63, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x6c, 0x79, 0x2c, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x6f, 0x6c, 0x69, + 0x74, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, + 0x72, 0x74, 0x20, 0x6f, 0x66, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x69, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x32, 0x30, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, + 0x74, 0x75, 0x72, 0x79, 0x2e, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x65, 0x64, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x68, 0x61, 0x72, + 0x74, 0x62, 0x65, 0x61, 0x74, 0x74, 0x6f, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, + 0x73, 0x74, 0x61, 0x6e, 0x64, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x73, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x20, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, + 0x74, 0x75, 0x72, 0x61, 0x6c, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, + 0x64, 0x65, 0x72, 0x65, 0x64, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, + 0x72, 0x69, 0x7a, 0x65, 0x64, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x77, 0x61, 0x73, 0x20, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x65, 0x64, 0x65, 0x64, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x72, + 0x65, 0x20, 0x61, 0x72, 0x65, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x74, 0x68, 0x65, 0x20, 0x50, 0x72, 0x65, 0x73, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x64, 0x66, 0x72, 0x65, 0x65, 0x20, 0x73, 0x6f, 0x66, + 0x74, 0x77, 0x61, 0x72, 0x65, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, + 0x64, 0x20, 0x74, 0x68, 0x65, 0x77, 0x61, 0x73, 0x20, 0x64, 0x65, 0x73, 0x74, + 0x72, 0x6f, 0x79, 0x65, 0x64, 0x61, 0x77, 0x61, 0x79, 0x20, 0x66, 0x72, 0x6f, + 0x6d, 0x20, 0x74, 0x68, 0x65, 0x3b, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x3e, 0x0a, 0x3c, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, + 0x20, 0x74, 0x68, 0x65, 0x79, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x20, 0x62, 0x79, 0x20, 0x61, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x70, 0x6f, 0x77, + 0x65, 0x72, 0x66, 0x75, 0x6c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x65, 0x64, + 0x20, 0x69, 0x6e, 0x20, 0x61, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x74, 0x79, 0x20, 0x6f, 0x66, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, + 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x73, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, + 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x69, 0x73, 0x20, 0x74, 0x68, 0x6f, 0x75, 0x67, + 0x68, 0x74, 0x20, 0x74, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x65, 0x6e, 0x64, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, + 0x75, 0x6e, 0x63, 0x65, 0x64, 0x61, 0x72, 0x65, 0x20, 0x69, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x61, 0x6e, 0x74, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x73, 0x3e, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x3d, 0x74, 0x68, 0x65, 0x20, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x44, 0x4f, 0x20, 0x4e, 0x4f, 0x54, 0x20, + 0x41, 0x4c, 0x54, 0x45, 0x52, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x2f, 0x3f, + 0x73, 0x6f, 0x72, 0x74, 0x3d, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x64, + 0x20, 0x62, 0x65, 0x65, 0x6e, 0x74, 0x68, 0x65, 0x20, 0x62, 0x61, 0x73, 0x69, + 0x73, 0x20, 0x66, 0x6f, 0x72, 0x68, 0x61, 0x73, 0x20, 0x64, 0x65, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x65, 0x64, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, + 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x6c, 0x79, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x64, 0x20, 0x74, 0x68, 0x65, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, + 0x74, 0x68, 0x6f, 0x73, 0x65, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x73, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x73, + 0x73, 0x69, 0x62, 0x6c, 0x65, 0x76, 0x61, 0x72, 0x69, 0x6f, 0x75, 0x73, 0x20, + 0x6f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x20, 0x41, 0x66, + 0x72, 0x69, 0x63, 0x61, 0x6e, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x73, 0x61, 0x6d, 0x65, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x6e, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, + 0x20, 0x63, 0x61, 0x73, 0x65, 0x3b, 0x20, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, + 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x20, 0x61, 0x6e, 0x64, 0x3b, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, + 0x6f, 0x75, 0x6e, 0x64, 0x3a, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x65, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x20, 0x74, 0x68, 0x65, 0x69, 0x73, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, + 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6d, + 0x61, 0x72, 0x67, 0x69, 0x6e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x65, 0x62, 0x61, 0x68, 0x61, 0x73, 0x61, 0x20, 0x4d, + 0x65, 0x6c, 0x61, 0x79, 0x75, 0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x20, 0x62, 0x6f, + 0x6b, 0x6d, 0xc3, 0xa5, 0x6c, 0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x20, 0x6e, 0x79, + 0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x73, 0x6c, 0x6f, 0x76, 0x65, 0x6e, 0xc5, 0xa1, + 0xc4, 0x8d, 0x69, 0x6e, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x63, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x63, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x6f, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, + 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x22, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x61, 0x6d, 0x62, 0x69, + 0x67, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x4e, 0x61, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x69, 0x6d, 0x75, + 0x6c, 0x74, 0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x6d, + 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x3a, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x3c, 0x21, 0x5b, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x5d, 0x2d, 0x2d, 0x3e, + 0x0a, 0x3c, 0x2f, 0x3e, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x75, 0x72, 0x65, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2d, + 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x3a, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, + 0x3e, 0x0a, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x3d, 0x68, 0x74, 0x74, 0x70, + 0x25, 0x33, 0x41, 0x25, 0x32, 0x46, 0x25, 0x32, 0x46, 0x3c, 0x66, 0x6f, 0x72, + 0x6d, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x70, 0x6f, 0x73, 0x74, 0x22, 0x20, 0x2f, 0x66, + 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x2e, 0x69, 0x63, 0x6f, 0x22, 0x20, 0x7d, + 0x29, 0x3b, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, + 0x2e, 0x73, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x28, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x28, 0x29, 0x3b, 0x3c, 0x21, 0x5b, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x5d, 0x2d, + 0x2d, 0x3e, 0x0d, 0x0a, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x55, 0x6e, 0x66, 0x6f, 0x72, 0x74, 0x75, 0x6e, + 0x61, 0x74, 0x65, 0x6c, 0x79, 0x2c, 0x22, 0x3e, 0x26, 0x6e, 0x62, 0x73, 0x70, + 0x3b, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x2f, 0x66, 0x61, 0x76, 0x69, 0x63, + 0x6f, 0x6e, 0x2e, 0x69, 0x63, 0x6f, 0x22, 0x3e, 0x3d, 0x27, 0x73, 0x74, 0x79, + 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x27, 0x20, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x3c, 0x6c, + 0x69, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x61, + 0x6e, 0x20, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x61, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, + 0x66, 0x70, 0x74, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x3e, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x73, 0x75, 0x62, 0x6d, 0x69, + 0x74, 0x22, 0x20, 0x0a, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x28, 0x29, 0x20, 0x7b, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x20, 0x41, 0x63, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x68, 0x69, 0x64, + 0x64, 0x65, 0x6e, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x6c, + 0x6f, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x64, + 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x62, 0x6f, 0x64, 0x79, 0x2e, + 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x6c, 0x79, + 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x74, 0x22, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x3d, 0x22, 0x6d, 0x65, 0x61, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x26, 0x71, + 0x75, 0x6f, 0x74, 0x3b, 0x2d, 0x2d, 0x3c, 0x21, 0x5b, 0x65, 0x6e, 0x64, 0x69, + 0x66, 0x5d, 0x2d, 0x2d, 0x3e, 0x50, 0x72, 0x69, 0x6d, 0x65, 0x20, 0x4d, 0x69, + 0x6e, 0x69, 0x73, 0x74, 0x65, 0x72, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, + 0x65, 0x72, 0x69, 0x73, 0x74, 0x69, 0x63, 0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x3c, + 0x61, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x74, 0x68, 0x65, 0x20, 0x68, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x6f, 0x6e, 0x6d, + 0x6f, 0x75, 0x73, 0x65, 0x6f, 0x76, 0x65, 0x72, 0x3d, 0x22, 0x74, 0x68, 0x65, + 0x20, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x68, 0x72, + 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, + 0x61, 0x73, 0x20, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x6c, 0x79, + 0x77, 0x61, 0x73, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, + 0x64, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x61, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, + 0x65, 0x72, 0x65, 0x64, 0x3c, 0x21, 0x5b, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x5d, + 0x2d, 0x2d, 0x3e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x20, + 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x6e, 0x20, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x73, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6c, 0x61, 0x63, + 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x69, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2d, + 0x3a, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x20, + 0x7b, 0x42, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x2d, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x2e, 0x64, 0x74, 0x64, + 0x22, 0x3e, 0x0a, 0x3c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x3d, 0x22, 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x2f, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, + 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x61, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x73, 0x29, 0x3b, + 0x20, 0x6a, 0x73, 0x2e, 0x69, 0x64, 0x20, 0x3d, 0x20, 0x69, 0x64, 0x22, 0x20, + 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x31, 0x30, 0x30, 0x25, 0x22, 0x72, + 0x65, 0x67, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x52, 0x6f, 0x6d, 0x61, 0x6e, 0x20, 0x43, 0x61, 0x74, 0x68, 0x6f, 0x6c, 0x69, + 0x63, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, + 0x6e, 0x74, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x2e, 0x67, 0x69, 0x66, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, + 0x68, 0x3d, 0x22, 0x31, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, + 0x77, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x69, 0x73, 0x63, 0x72, 0x69, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x61, 0x65, 0x6f, + 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x70, 0x72, 0x69, 0x6d, 0x65, 0x20, + 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x6a, 0x73, 0x22, 0x3e, + 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x63, 0x6f, 0x6d, 0x62, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x61, + 0x72, 0x67, 0x69, 0x6e, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x28, 0x77, + 0x2e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x28, + 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, + 0x3e, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x61, 0x49, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, + 0x61, 0x72, 0x2c, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x6c, 0x65, + 0x66, 0x74, 0x22, 0x20, 0x43, 0x7a, 0x65, 0x63, 0x68, 0x20, 0x52, 0x65, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x55, 0x6e, 0x69, 0x74, 0x65, 0x64, 0x20, 0x4b, + 0x69, 0x6e, 0x67, 0x64, 0x6f, 0x6d, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x2e, 0x68, 0x74, 0x6d, 0x6c, + 0x22, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3d, 0x22, 0x28, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x29, 0x20, 0x7b, 0x63, 0x6f, 0x6d, + 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x3c, + 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x73, + 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, + 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x28, 0x27, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x27, 0x3c, 0x2f, 0x61, 0x3e, 0x0a, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x0a, + 0x3c, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x74, 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x28, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x6b, + 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73, 0x09, 0x3c, 0x6c, 0x69, 0x3e, 0x3c, + 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x3e, 0x3c, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, 0x65, 0x70, 0x61, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x20, 0x76, + 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x74, 0x6f, 0x70, 0x22, 0x3e, 0x66, + 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, + 0x20, 0x63, 0x61, 0x72, 0x62, 0x6f, 0x6e, 0x20, 0x64, 0x69, 0x6f, 0x78, 0x69, + 0x64, 0x65, 0x0a, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x2d, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0a, 0x3c, 0x2f, + 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x6f, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x6e, + 0x69, 0x74, 0x79, 0x20, 0x74, 0x6f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, + 0x3e, 0x0d, 0x0a, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x54, 0x69, 0xe1, 0xba, + 0xbf, 0x6e, 0x67, 0x20, 0x56, 0x69, 0xe1, 0xbb, 0x87, 0x74, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x62, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x2d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23, 0x30, + 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, 0x20, + 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, + 0x3c, 0x77, 0x61, 0x73, 0x20, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x65, 0x64, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, + 0x74, 0x22, 0x20, 0x29, 0x3b, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x3e, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x20, 0x6f, 0x66, 0x20, 0x65, 0x63, 0x63, 0x6c, 0x65, 0x73, 0x69, 0x61, + 0x73, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x68, + 0x61, 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x69, 0x6e, 0x67, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x3c, 0x2f, 0x62, 0x6f, 0x64, + 0x79, 0x3e, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x68, 0x61, 0x73, 0x20, + 0x6e, 0x65, 0x76, 0x65, 0x72, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x74, 0x68, 0x65, + 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x69, 0x6e, + 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x74, 0x6f, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, + 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, + 0x69, 0x77, 0x61, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, + 0x65, 0x64, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, + 0x64, 0x69, 0x76, 0x3e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x65, + 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x2d, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x74, 0x6f, 0x20, 0x62, 0x65, + 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x65, 0x64, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x64, + 0x64, 0x69, 0x6e, 0x67, 0x2d, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x27, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x6f, 0x72, 0x20, 0x6e, + 0x6f, 0x74, 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x61, + 0x6c, 0x73, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, + 0x6d, 0x61, 0x6e, 0x79, 0x61, 0x20, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x20, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, + 0x72, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x69, 0x6d, 0x70, 0x6f, 0x73, 0x73, 0x69, + 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x2e, 0x20, 0x48, 0x6f, + 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x64, + 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x41, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x62, + 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x74, 0x73, + 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x3c, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x3d, 0x22, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x70, 0x6f, + 0x73, 0x74, 0x22, 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x70, 0x6f, 0x73, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x6c, 0x69, 0x6b, 0x65, + 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x65, + 0x61, 0x73, 0x65, 0x20, 0x69, 0x6e, 0x68, 0x61, 0x76, 0x65, 0x20, 0x61, 0x6c, + 0x73, 0x6f, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x61, 0x6e, 0x6e, 0x6f, 0x75, + 0x6e, 0x63, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x6c, 0x69, 0x67, + 0x6e, 0x3d, 0x22, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x3e, 0x6d, 0x61, 0x6e, + 0x79, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x66, 0x6f, + 0x72, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x65, + 0x61, 0x72, 0x6c, 0x69, 0x65, 0x73, 0x74, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, + 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x69, 0x74, 0x20, 0x77, 0x61, + 0x73, 0x70, 0x74, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x3e, 0x0d, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x74, 0x6f, + 0x70, 0x22, 0x20, 0x69, 0x6e, 0x68, 0x61, 0x62, 0x69, 0x74, 0x61, 0x6e, 0x74, + 0x73, 0x20, 0x6f, 0x66, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, + 0x20, 0x79, 0x65, 0x61, 0x72, 0x0d, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, + 0x20, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x63, 0x65, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x61, 0x72, 0x67, 0x75, + 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x67, 0x6f, 0x76, + 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x61, 0x20, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x3a, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x74, 0x68, + 0x65, 0x72, 0x65, 0x62, 0x65, 0x73, 0x74, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, + 0x20, 0x66, 0x6f, 0x72, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x22, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, + 0x61, 0x6e, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x63, + 0x69, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x20, 0x3c, + 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x45, 0x6e, + 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x61, + 0x77, 0x61, 0x79, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x3b, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x72, 0x69, 0x67, 0x68, 0x74, + 0x3a, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, + 0x6f, 0x66, 0x69, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x20, + 0x6f, 0x74, 0x68, 0x65, 0x72, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, + 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x6e, 0x69, + 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x3c, 0x73, 0x70, 0x61, 0x6e, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x64, 0x65, 0x73, 0x63, 0x65, + 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x3c, 0x73, 0x70, 0x61, + 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x69, 0x20, 0x61, 0x6c, + 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x3c, 0x2f, + 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x61, + 0x73, 0x70, 0x65, 0x63, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x68, 0x61, 0x73, 0x20, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x20, 0x62, 0x65, 0x65, + 0x6e, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x61, 0x6e, 0x20, 0x55, 0x6e, 0x69, + 0x6f, 0x6e, 0x72, 0x65, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x63, 0x65, 0x6e, 0x74, + 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x69, 0x66, 0x66, 0x69, + 0x63, 0x75, 0x6c, 0x74, 0x56, 0x69, 0x63, 0x65, 0x20, 0x50, 0x72, 0x65, 0x73, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x20, + 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x66, 0x6f, 0x6e, 0x74, 0x2d, + 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x31, 0x31, 0x70, 0x78, 0x65, 0x78, 0x70, 0x6c, + 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, + 0x20, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x20, 0x6f, 0x66, 0x77, 0x72, + 0x69, 0x74, 0x74, 0x65, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x09, + 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x20, + 0x74, 0x6f, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x73, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x73, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x75, 0x74, 0x73, 0x69, + 0x64, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x75, 0x70, 0x70, + 0x6f, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x3c, 0x73, + 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x74, 0x28, + 0x4d, 0x61, 0x74, 0x68, 0x2e, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x28, 0x29, + 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x6d, 0x69, 0x6e, 0x65, 0x6e, + 0x74, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x6f, 0x66, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x6f, + 0x70, 0x6c, 0x65, 0x77, 0x65, 0x72, 0x65, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x65, 0x64, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x73, 0x65, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x73, 0x20, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x31, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x3d, 0x22, 0x31, 0x22, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x77, 0x68, 0x69, 0x63, 0x68, + 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x77, 0x68, 0x69, 0x63, + 0x68, 0x20, 0x68, 0x61, 0x64, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x64, 0x65, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x74, 0x68, + 0x65, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, + 0x09, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x6f, + 0x66, 0x73, 0x6f, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x20, 0x75, 0x73, + 0x65, 0x64, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x68, + 0x61, 0x76, 0x65, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x20, 0x62, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x20, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, + 0x63, 0x6c, 0x65, 0x61, 0x72, 0x3a, 0x62, 0x0d, 0x0a, 0x3c, 0x2f, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x3c, 0x77, 0x61, 0x73, 0x20, 0x66, + 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x76, 0x69, 0x65, 0x77, 0x20, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64, + 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x63, 0x61, + 0x70, 0x69, 0x74, 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x0d, + 0x0a, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x73, + 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x78, 0x4d, 0x4c, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x74, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x6c, 0x61, + 0x72, 0x67, 0x65, 0x73, 0x74, 0x76, 0x65, 0x72, 0x79, 0x20, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, + 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x66, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x73, 0x65, + 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x65, 0x73, + 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x69, + 0x73, 0x20, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x49, 0x6e, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, + 0x6f, 0x6d, 0x65, 0x61, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x69, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x20, 0x61, 0x66, + 0x74, 0x65, 0x72, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x69, 0x73, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, + 0x65, 0x6e, 0x74, 0x65, 0x64, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x65, 0x66, + 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, + 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x20, 0x6f, 0x66, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x3c, 0x73, 0x70, + 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x63, 0x70, 0x65, + 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x28, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x0d, + 0x69, 0x66, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, + 0x66, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x69, 0x74, 0x65, 0x64, 0x20, 0x4e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, + 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x79, 0x70, 0x65, 0x22, 0x20, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x41, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x0a, 0x3c, 0x2f, 0x68, + 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x69, 0x73, + 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x28, + 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, + 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, + 0x61, 0x6c, 0x61, 0x6d, 0x6f, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, + 0x6f, 0x73, 0x74, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x2f, 0x3e, 0x0a, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, + 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x74, 0x68, 0x65, 0x20, 0x70, 0x75, 0x72, + 0x70, 0x6f, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x74, 0x6f, 0x3b, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x3a, 0x23, 0x66, 0x66, 0x66, 0x7d, 0x0a, 0x2e, 0x0a, 0x3c, 0x73, 0x70, + 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x74, 0x68, 0x65, + 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x6f, 0x66, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x3e, + 0x0d, 0x0a, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, + 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, + 0x65, 0x68, 0x61, 0x76, 0x65, 0x20, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, + 0x65, 0x64, 0x3c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x77, 0x69, 0x64, 0x74, + 0x68, 0x3d, 0x22, 0x63, 0x65, 0x6c, 0x65, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x6f, 0x66, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x67, 0x75, 0x69, 0x73, 0x68, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x62, 0x74, 0x61, 0x6b, 0x65, 0x73, 0x20, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x75, 0x6e, 0x64, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x6f, 0x74, 0x65, + 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x3e, 0x3c, 0x21, + 0x5b, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x5d, 0x2d, 0x2d, 0x3e, 0x0a, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x69, + 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x20, 0x74, 0x68, + 0x65, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x20, + 0x6f, 0x66, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x68, 0x65, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x20, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x65, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, + 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, + 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x77, 0x61, 0x73, 0x20, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x74, 0x68, 0x72, 0x6f, 0x75, + 0x67, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x69, 0x73, 0x74, 0x68, 0x65, 0x20, + 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x6f, 0x6d, + 0x65, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, 0x73, 0x70, + 0x61, 0x6e, 0x3e, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x2f, 0x73, + 0x69, 0x67, 0x6e, 0x69, 0x66, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x6c, 0x79, 0x20, + 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x0d, + 0x0a, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, + 0x74, 0x68, 0x65, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, + 0x75, 0x73, 0x65, 0x64, 0x65, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x6c, + 0x79, 0x20, 0x66, 0x6f, 0x72, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x74, 0x61, + 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x69, 0x73, 0x20, 0x65, 0x73, 0x73, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x77, 0x65, 0x72, 0x65, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x69, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x73, 0x74, 0x68, 0x61, 0x76, 0x65, + 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x6d, 0x61, 0x64, 0x65, 0x22, 0x20, 0x73, + 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6f, 0x66, + 0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x6e, 0x6f, 0x22, + 0x20, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20, + 0x6f, 0x66, 0x49, 0x49, 0x2c, 0x20, 0x48, 0x6f, 0x6c, 0x79, 0x20, 0x52, 0x6f, + 0x6d, 0x61, 0x6e, 0x69, 0x73, 0x20, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x20, 0x74, 0x6f, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x69, + 0x72, 0x20, 0x6f, 0x77, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, + 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x74, 0x72, 0x61, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x64, + 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x65, 0x20, 0x6f, + 0x66, 0x74, 0x65, 0x6e, 0x20, 0x75, 0x73, 0x65, 0x64, 0x74, 0x6f, 0x20, 0x65, + 0x6e, 0x73, 0x75, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x67, 0x72, + 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x61, + 0x72, 0x65, 0x20, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x6c, 0x79, + 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, + 0x6e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x69, + 0x6e, 0x20, 0x61, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x3c, + 0x2f, 0x75, 0x6c, 0x3e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x66, + 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x20, 0x65, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x62, + 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, + 0x3e, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x77, 0x68, 0x69, 0x63, 0x68, + 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x3e, 0x0a, 0x3c, 0x6d, + 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x63, 0x6f, 0x6e, + 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x63, 0x61, + 0x72, 0x72, 0x69, 0x65, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x62, 0x79, 0x48, + 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, + 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, + 0x66, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x74, 0x6f, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, + 0x6c, 0x20, 0x6f, 0x66, 0x77, 0x61, 0x73, 0x20, 0x6f, 0x66, 0x66, 0x69, 0x63, + 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x68, 0x61, + 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x74, 0x68, 0x65, 0x20, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x74, 0x6f, 0x64, 0x69, 0x66, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x74, 0x6f, 0x20, 0x73, + 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x74, 0x68, 0x65, 0x73, 0x75, 0x67, + 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x20, + 0x20, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x68, + 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x74, 0x79, 0x6f, 0x70, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x20, 0x6f, 0x66, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x70, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x71, 0x22, 0x09, 0x09, 0x3c, 0x64, 0x69, + 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x74, 0x68, 0x65, 0x20, + 0x73, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x72, 0x65, 0x70, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x6d, 0x61, + 0x74, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x69, 0x61, 0x6e, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, + 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, + 0x6e, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, + 0x22, 0x63, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x69, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, + 0x6c, 0x61, 0x72, 0x2c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, + 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x29, 0x3b, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x3c, 0x70, 0x68, 0x69, 0x6c, 0x6f, 0x73, 0x6f, + 0x70, 0x68, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x72, 0x70, 0x73, 0x6b, 0x6f, + 0x68, 0x72, 0x76, 0x61, 0x74, 0x73, 0x6b, 0x69, 0x74, 0x69, 0xe1, 0xba, 0xbf, + 0x6e, 0x67, 0x20, 0x56, 0x69, 0xe1, 0xbb, 0x87, 0x74, 0xd0, 0xa0, 0xd1, 0x83, + 0xd1, 0x81, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb8, 0xd0, 0xb9, 0xd1, 0x80, 0xd1, + 0x83, 0xd1, 0x81, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb8, 0xd0, 0xb9, 0x69, 0x6e, + 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, + 0xd0, 0xba, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd1, 0x8b, 0xd0, + 0xb5, 0xd0, 0xbe, 0xd0, 0xb1, 0xd0, 0xbb, 0xd0, 0xb0, 0xd1, 0x81, 0xd1, 0x82, + 0xd0, 0xb8, 0xd0, 0xba, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd1, + 0x8b, 0xd0, 0xb9, 0xd1, 0x87, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, 0xb2, + 0xd0, 0xb5, 0xd0, 0xba, 0xd1, 0x81, 0xd0, 0xb8, 0xd1, 0x81, 0xd1, 0x82, 0xd0, + 0xb5, 0xd0, 0xbc, 0xd1, 0x8b, 0xd0, 0x9d, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xbe, + 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xba, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, + 0xbe, 0xd1, 0x80, 0xd1, 0x8b, 0xd1, 0x85, 0xd0, 0xbe, 0xd0, 0xb1, 0xd0, 0xbb, + 0xd0, 0xb0, 0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x8c, 0xd0, 0xb2, 0xd1, 0x80, 0xd0, + 0xb5, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xba, 0xd0, 0xbe, + 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xb0, 0xd1, 0x8f, 0xd1, 0x81, 0xd0, + 0xb5, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xbd, 0xd1, 0x8f, 0xd1, 0x81, + 0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x82, 0xd1, 0x8c, 0xd0, + 0xbd, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xbe, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, + 0xd0, 0xa3, 0xd0, 0xba, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1, + 0x8b, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xbe, 0xd1, 0x81, + 0xd1, 0x8b, 0xd0, 0xba, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, + 0xbe, 0xd0, 0xb9, 0xd1, 0x81, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xb0, + 0xd1, 0x82, 0xd1, 0x8c, 0xd0, 0xbf, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xbe, 0xd1, + 0x89, 0xd1, 0x8c, 0xd1, 0x8e, 0xd1, 0x81, 0xd1, 0x80, 0xd0, 0xb5, 0xd0, 0xb4, + 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb1, 0xd1, 0x80, 0xd0, + 0xb0, 0xd0, 0xb7, 0xd0, 0xbe, 0xd0, 0xbc, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xbe, + 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xbd, 0xd1, 0x8b, 0xd1, 0x83, 0xd1, 0x87, 0xd0, + 0xb0, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb5, + 0xd1, 0x87, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xb5, 0xd0, 0x93, 0xd0, + 0xbb, 0xd0, 0xb0, 0xd0, 0xb2, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x8f, 0xd0, 0xb8, + 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xb8, 0xd1, + 0x81, 0xd0, 0xb8, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, 0xb0, + 0xd1, 0x80, 0xd0, 0xb5, 0xd1, 0x88, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, + 0x8f, 0xd0, 0xa1, 0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x82, + 0xd1, 0x8c, 0xd0, 0xbf, 0xd0, 0xbe, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, + 0xbc, 0xd1, 0x83, 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xb4, 0xd1, 0x83, + 0xd0, 0xb5, 0xd1, 0x82, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb0, 0xd0, 0xb7, 0xd0, + 0xb0, 0xd1, 0x82, 0xd1, 0x8c, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xb0, + 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, + 0xb5, 0xd1, 0x87, 0xd0, 0xbd, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xb5, 0xd1, 0x88, + 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xb5, 0xd0, 0xba, 0xd0, 0xbe, 0xd1, + 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xbe, 0xd1, 0x80, + 0xd0, 0xb3, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xba, 0xd0, + 0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xa0, + 0xd0, 0xb5, 0xd0, 0xba, 0xd0, 0xbb, 0xd0, 0xb0, 0xd0, 0xbc, 0xd0, 0xb0, 0xd8, + 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xaf, 0xd9, 0x89, + 0xd9, 0x85, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, + 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x88, 0xd8, 0xb6, 0xd9, 0x88, + 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa8, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, + 0x85, 0xd8, 0xac, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x88, 0xd8, 0xa7, + 0xd9, 0x82, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, 0xb3, 0xd8, + 0xa7, 0xd8, 0xa6, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7, 0xd8, 0xb1, + 0xd9, 0x83, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd8, + 0xb9, 0xd8, 0xb6, 0xd8, 0xa7, 0xd8, 0xa1, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, + 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xb6, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, + 0xaa, 0xd8, 0xb5, 0xd9, 0x85, 0xd9, 0x8a, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, + 0xd8, 0xa7, 0xd8, 0xb9, 0xd8, 0xb6, 0xd8, 0xa7, 0xd8, 0xa1, 0xd8, 0xa7, 0xd9, + 0x84, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xa7, 0xd8, 0xa6, 0xd8, 0xac, 0xd8, 0xa7, + 0xd9, 0x84, 0xd8, 0xa3, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, + 0xa7, 0xd9, 0x84, 0xd8, 0xaa, 0xd8, 0xb3, 0xd8, 0xac, 0xd9, 0x8a, 0xd9, 0x84, + 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd9, 0x82, 0xd8, 0xb3, 0xd8, 0xa7, 0xd9, + 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb6, 0xd8, 0xba, 0xd8, 0xb7, 0xd8, 0xa7, + 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x81, 0xd9, 0x8a, 0xd8, 0xaf, 0xd9, + 0x8a, 0xd9, 0x88, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xaa, 0xd8, 0xb1, 0xd8, 0xad, + 0xd9, 0x8a, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xac, 0xd8, 0xaf, 0xd9, + 0x8a, 0xd8, 0xaf, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xaa, 0xd8, 0xb9, + 0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd8, + 0xae, 0xd8, 0xa8, 0xd8, 0xa7, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, + 0xd9, 0x81, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, + 0xa3, 0xd9, 0x81, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, + 0xd8, 0xaa, 0xd8, 0xa7, 0xd8, 0xb1, 0xd9, 0x8a, 0xd8, 0xae, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xaa, 0xd9, 0x82, 0xd9, 0x86, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7, + 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, + 0xa7, 0xd9, 0x84, 0xd8, 0xae, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, 0xb7, 0xd8, 0xb1, + 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xac, 0xd8, 0xaa, 0xd9, 0x85, 0xd8, + 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xaf, 0xd9, 0x8a, 0xd9, 0x83, 0xd9, 0x88, + 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb3, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, + 0xad, 0xd8, 0xa9, 0xd8, 0xb9, 0xd8, 0xa8, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, + 0xd9, 0x84, 0xd9, 0x87, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xaa, 0xd8, 0xb1, 0xd8, + 0xa8, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd9, 0x88, + 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xb7, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd8, + 0xaf, 0xd8, 0xa8, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, + 0xd8, 0xae, 0xd8, 0xa8, 0xd8, 0xa7, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, + 0x85, 0xd8, 0xaa, 0xd8, 0xad, 0xd8, 0xaf, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, + 0xd8, 0xa7, 0xd8, 0xba, 0xd8, 0xa7, 0xd9, 0x86, 0xd9, 0x8a, 0x63, 0x75, 0x72, + 0x73, 0x6f, 0x72, 0x3a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x3b, 0x3c, + 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x0a, 0x3c, 0x6d, 0x65, 0x74, 0x61, + 0x20, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x22, 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, + 0x69, 0x63, 0x61, 0x6c, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x2f, 0x61, + 0x3e, 0x20, 0x7c, 0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, + 0x3c, 0x21, 0x64, 0x6f, 0x63, 0x74, 0x79, 0x70, 0x65, 0x20, 0x68, 0x74, 0x6d, + 0x6c, 0x3e, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x3d, 0x22, 0x73, 0x63, 0x72, 0x65, + 0x65, 0x6e, 0x22, 0x20, 0x3c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x66, 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, + 0x2e, 0x69, 0x63, 0x6f, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x09, 0x09, 0x3c, 0x64, + 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x63, 0x68, 0x61, + 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x22, + 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x67, 0x65, 0x74, 0x22, + 0x20, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0a, 0x3c, 0x2f, 0x68, 0x74, 0x6d, + 0x6c, 0x3e, 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x63, 0x75, 0x74, 0x20, 0x69, + 0x63, 0x6f, 0x6e, 0x22, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, + 0x67, 0x2d, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x3a, 0x72, 0x65, 0x70, 0x72, + 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x73, 0x75, + 0x62, 0x6d, 0x69, 0x74, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, + 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x22, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x6f, 0x75, 0x74, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x73, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x66, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x20, 0x3c, 0x64, 0x69, 0x76, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x73, 0x75, 0x62, 0x6d, 0x69, + 0x74, 0x22, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6f, 0x6e, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, + 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x74, 0x6f, 0x70, 0x22, 0x3e, + 0x3c, 0x77, 0x61, 0x73, 0x20, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x65, 0x64, 0x29, 0x3b, 0x0d, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, + 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x22, 0x3e, 0x29, 0x2e, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x65, 0x63, 0x61, + 0x75, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, + 0x3c, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, + 0x22, 0x2f, 0x7d, 0x62, 0x6f, 0x64, 0x79, 0x7b, 0x6d, 0x61, 0x72, 0x67, 0x69, + 0x6e, 0x3a, 0x30, 0x3b, 0x45, 0x6e, 0x63, 0x79, 0x63, 0x6c, 0x6f, 0x70, 0x65, + 0x64, 0x69, 0x61, 0x20, 0x6f, 0x66, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x2e, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x28, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x3c, + 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, + 0x0a, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x20, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0a, 0x3c, 0x2f, + 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x22, 0x3e, 0x3c, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x70, 0x6f, 0x72, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x73, + 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, + 0x3d, 0x22, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x22, 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, + 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x49, 0x6e, 0x20, 0x6f, 0x74, + 0x68, 0x65, 0x72, 0x20, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2c, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x20, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x6f, 0x66, 0x2f, 0x3e, 0x0a, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x73, 0x20, 0x77, 0x65, 0x6c, 0x6c, 0x20, + 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x0d, 0x0a, 0x09, 0x3c, + 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x3c, 0x2f, + 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x09, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, + 0x69, 0x6e, 0x73, 0x70, 0x69, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, + 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, + 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, + 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73, 0x20, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x3a, 0x2e, 0x6a, 0x73, + 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c, 0x20, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, + 0x65, 0x65, 0x6e, 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x20, 0x6c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, + 0x69, 0x73, 0x74, 0x20, 0x50, 0x61, 0x72, 0x74, 0x79, 0x63, 0x6f, 0x6e, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x62, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x63, 0x65, 0x6c, 0x6c, + 0x20, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x3d, 0x22, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x20, 0x6f, 0x66, 0x22, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, + 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x20, + 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x4f, 0x72, 0x74, + 0x68, 0x6f, 0x64, 0x6f, 0x78, 0x20, 0x43, 0x68, 0x75, 0x72, 0x63, 0x68, 0x73, + 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x2f, 0x3e, 0x0a, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, + 0x3d, 0x22, 0x73, 0x77, 0x61, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x20, 0x68, 0x69, + 0x73, 0x20, 0x64, 0x65, 0x61, 0x74, 0x68, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x0a, + 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x6f, 0x74, 0x68, 0x65, + 0x72, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6c, + 0x61, 0x6e, 0x64, 0x73, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, + 0x75, 0x6e, 0x64, 0x3a, 0x75, 0x72, 0x6c, 0x28, 0x61, 0x72, 0x67, 0x75, 0x65, + 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x73, 0x63, 0x72, + 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x6e, 0x6f, 0x22, 0x20, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, + 0x65, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, + 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x68, 0x65, 0x20, 0x74, 0x72, + 0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x64, 0x65, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x75, 0x73, 0x65, 0x64, + 0x61, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x6f, 0x66, 0x76, 0x65, 0x72, 0x79, 0x20, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, + 0x72, 0x20, 0x74, 0x6f, 0x73, 0x75, 0x72, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x61, 0x6c, 0x69, 0x67, 0x6e, + 0x3d, 0x22, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x3e, 0x77, 0x6f, 0x75, + 0x6c, 0x64, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x3d, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, + 0x6f, 0x72, 0x6d, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x69, 0x73, 0x20, 0x64, + 0x65, 0x72, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x6e, 0x61, + 0x6d, 0x65, 0x64, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, + 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x74, 0x6f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x3a, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, + 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x73, + 0x74, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x69, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x6e, + 0x64, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x54, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x65, 0x61, + 0x6e, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x77, 0x61, 0x73, 0x20, + 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x20, 0x62, 0x79, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x69, 0x6e, 0x73, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, + 0x6f, 0x72, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, 0x65, 0x64, 0x20, 0x61, 0x73, + 0x20, 0x74, 0x68, 0x65, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x61, + 0x73, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x61, 0x20, 0x63, 0x6f, 0x6d, + 0x70, 0x72, 0x65, 0x68, 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, + 0x65, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, + 0x64, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x55, 0x6e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x64, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x3e, 0x0a, 0x09, 0x3c, 0x64, 0x69, + 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x73, + 0x69, 0x73, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x74, + 0x6f, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x20, 0x6f, 0x66, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x68, 0x61, 0x76, 0x65, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x6f, + 0x6d, 0x61, 0x67, 0x6e, 0x65, 0x74, 0x69, 0x63, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x28, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x49, + 0x74, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, + 0x74, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c, 0x2f, 0x64, + 0x69, 0x76, 0x3e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, + 0x7b, 0x76, 0x61, 0x72, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x61, 0x73, 0x20, 0x61, 0x20, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x46, 0x6f, + 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x69, 0x6e, + 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x70, 0x6f, 0x73, 0x74, + 0x22, 0x20, 0x77, 0x61, 0x73, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x20, 0x62, 0x79, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x6d, 0x64, 0x61, 0x73, + 0x68, 0x3b, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6a, 0x73, 0x22, 0x3e, 0x3c, + 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x75, 0x6c, 0x3e, + 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x61, + 0x66, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x61, 0x74, + 0x68, 0x77, 0x69, 0x74, 0x68, 0x20, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, + 0x20, 0x74, 0x6f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x70, 0x61, 0x64, + 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x69, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x75, 0x6c, 0x61, 0x72, 0x6c, 0x79, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x3a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x3b, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x3d, 0x22, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x22, 0x20, 0x69, 0x73, + 0x20, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, + 0xe4, 0xb8, 0xad, 0xe6, 0x96, 0x87, 0x20, 0x28, 0xe7, 0xae, 0x80, 0xe4, 0xbd, + 0x93, 0x29, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x64, 0x61, 0x64, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, + 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x63, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x65, 0xe0, 0xa4, 0x89, + 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x97, 0xe0, + 0xa4, 0xaa, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xb5, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x97, 0xe0, + 0xa5, 0x8b, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x9a, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, + 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xb8, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, + 0xaa, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa4, 0x96, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0x82, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, + 0xbf, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, 0xad, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x9c, + 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xae, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, + 0xae, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x9c, + 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa3, 0xe0, + 0xa4, 0xac, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, + 0x87, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb2, 0xe0, + 0xa5, 0x89, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xb2, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb9, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, + 0xa5, 0x83, 0xe0, 0xa4, 0xb7, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa0, 0xe0, 0xa4, + 0xac, 0xe0, 0xa4, 0xa2, 0xe0, 0xa4, 0xbc, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x87, + 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xaa, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, + 0xbf, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, 0xbf, 0xe0, + 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xab, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, + 0x8c, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xae, + 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0xae, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xaf, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xaa, 0xe0, + 0xa4, 0xb9, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x81, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, + 0xac, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xa6, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x9b, + 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, + 0xa4, 0xb6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb7, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0x89, + 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa4, 0xae, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, + 0x88, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x8b, + 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0x95, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa4, 0xa3, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa2, 0xe0, 0xa4, + 0xbc, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xab, 0xe0, + 0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, + 0xae, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x96, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xaf, + 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0x9a, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0x9b, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0x9b, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, + 0xa4, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x97, + 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x8f, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, + 0xbf, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0x98, + 0xe0, 0xa4, 0xa3, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0xa6, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, + 0x87, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x8b, + 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, 0xe0, + 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, + 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa7, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb5, 0xe0, + 0xa4, 0xbf, 0xe0, 0xa4, 0xb6, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, + 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, + 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x8d, 0xe0, + 0xa4, 0xb8, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xb6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, + 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xa6, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, + 0xbf, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaa, + 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb7, 0xe0, + 0xa4, 0xb9, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, + 0x80, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, + 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, + 0xaa, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x95, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xbc, 0xe0, 0xa4, + 0xae, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa4, + 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x83, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, + 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, 0x98, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xb5, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa4, 0xb8, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x96, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, + 0x87, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xae, 0xe0, + 0xa5, 0x88, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, + 0xa4, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, + 0xa5, 0x87, 0x72, 0x73, 0x73, 0x2b, 0x78, 0x6d, 0x6c, 0x22, 0x20, 0x74, 0x69, + 0x74, 0x6c, 0x65, 0x3d, 0x22, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x61, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x69, 0x6d, + 0x65, 0x2e, 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x3e, 0x0a, 0x3c, 0x22, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3d, + 0x22, 0x70, 0x6f, 0x73, 0x74, 0x22, 0x20, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, + 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x76, 0x65, 0x72, + 0x74, 0x69, 0x63, 0x61, 0x6c, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x74, + 0x2f, 0x6a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6d, 0x69, 0x6e, 0x2e, 0x6a, + 0x73, 0x22, 0x3e, 0x2e, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x28, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, + 0x22, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x2d, 0x7d, 0x29, 0x28, 0x29, + 0x3b, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x3c, + 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, + 0x3d, 0x22, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x29, 0x3b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x74, 0x65, 0x78, 0x74, 0x2d, + 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x73, + 0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x6e, 0x6f, 0x22, + 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2d, 0x63, 0x6f, 0x6c, 0x6c, 0x61, + 0x70, 0x73, 0x65, 0x3a, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x42, 0x61, 0x68, 0x61, 0x73, 0x61, + 0x20, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x73, 0x69, 0x61, 0x45, 0x6e, 0x67, + 0x6c, 0x69, 0x73, 0x68, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x3c, 0x74, 0x65, 0x78, 0x74, 0x20, 0x78, 0x6d, 0x6c, 0x3a, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x3d, 0x2e, 0x67, 0x69, 0x66, 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, + 0x0a, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0a, 0x6f, 0x76, 0x65, 0x72, + 0x66, 0x6c, 0x6f, 0x77, 0x3a, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x3b, 0x69, + 0x6d, 0x67, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x65, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, + 0x62, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73, 0x2e, 0x6a, 0x73, 0x22, + 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x2f, 0x66, + 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x2e, 0x69, 0x63, 0x6f, 0x22, 0x20, 0x2f, + 0x3e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x22, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, + 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x31, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x3d, 0x22, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x22, 0x3e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x20, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, + 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x6c, 0x65, + 0x66, 0x74, 0x3b, 0x0a, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x2c, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x29, + 0x3b, 0x0d, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, + 0x0a, 0x3c, 0x22, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x3a, 0x3b, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, + 0x77, 0x3a, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x6d, 0x6f, 0x72, 0x65, 0x20, + 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6e, + 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x61, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, + 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x3c, 0x2f, 0x64, + 0x69, 0x76, 0x3e, 0x0a, 0x09, 0x09, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x20, 0x6e, 0x6f, 0x6e, 0x65, + 0x3b, 0x22, 0x3e, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, + 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x0a, 0x20, 0x20, 0x28, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x74, 0x68, 0x65, 0x20, + 0x31, 0x35, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x79, 0x2e, + 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x28, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x20, 0x6f, 0x66, 0x20, 0x42, 0x79, 0x7a, 0x61, 0x6e, 0x74, 0x69, 0x6e, + 0x65, 0x20, 0x45, 0x6d, 0x70, 0x69, 0x72, 0x65, 0x2e, 0x6a, 0x70, 0x67, 0x7c, + 0x74, 0x68, 0x75, 0x6d, 0x62, 0x7c, 0x6c, 0x65, 0x66, 0x74, 0x7c, 0x76, 0x61, + 0x73, 0x74, 0x20, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x6f, + 0x66, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x3e, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x74, 0x79, 0x20, 0x50, 0x72, 0x65, 0x73, 0x73, 0x64, 0x6f, 0x6d, + 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, + 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x20, + 0x57, 0x61, 0x72, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x74, 0x68, 0x65, 0x20, + 0x72, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x6e, 0x6f, 0x66, 0x6f, 0x6c, + 0x6c, 0x6f, 0x77, 0x22, 0x3e, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x73, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x72, 0x61, 0x74, 0x68, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x20, + 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, + 0x66, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64, 0x74, 0x68, + 0x3a, 0x31, 0x30, 0x30, 0x45, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x2d, 0x73, + 0x70, 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x72, 0x20, 0x73, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x62, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x22, + 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, + 0x20, 0x6f, 0x66, 0x44, 0x65, 0x6d, 0x6f, 0x63, 0x72, 0x61, 0x74, 0x69, 0x63, + 0x20, 0x50, 0x61, 0x72, 0x74, 0x79, 0x22, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, + 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x46, 0x6f, 0x72, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2c, 0x2e, + 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, + 0x0a, 0x09, 0x73, 0x42, 0x79, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x28, + 0x73, 0x29, 0x5b, 0x30, 0x5d, 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x3c, 0x2e, 0x6a, 0x73, 0x22, 0x3e, + 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x6c, 0x69, + 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x69, 0x63, 0x6f, 0x6e, 0x22, + 0x20, 0x27, 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x27, 0x27, 0x20, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x3d, 0x27, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x3c, 0x2f, 0x61, + 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, + 0x2f, 0x70, 0x61, 0x67, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x70, 0x61, 0x67, + 0x65, 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x62, 0x61, 0x68, 0x61, + 0x73, 0x61, 0x20, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x73, 0x69, 0x61, 0x65, + 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x20, 0x28, 0x73, 0x69, 0x6d, 0x70, 0x6c, + 0x65, 0x29, 0xce, 0x95, 0xce, 0xbb, 0xce, 0xbb, 0xce, 0xb7, 0xce, 0xbd, 0xce, + 0xb9, 0xce, 0xba, 0xce, 0xac, 0xd1, 0x85, 0xd1, 0x80, 0xd0, 0xb2, 0xd0, 0xb0, + 0xd1, 0x82, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb8, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, + 0xbc, 0xd0, 0xbf, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xb8, 0xd1, 0x8f, + 0xd0, 0xb2, 0xd0, 0xbb, 0xd1, 0x8f, 0xd0, 0xb5, 0xd1, 0x82, 0xd1, 0x81, 0xd1, + 0x8f, 0xd0, 0x94, 0xd0, 0xbe, 0xd0, 0xb1, 0xd0, 0xb0, 0xd0, 0xb2, 0xd0, 0xb8, + 0xd1, 0x82, 0xd1, 0x8c, 0xd1, 0x87, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, + 0xb2, 0xd0, 0xb5, 0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb7, + 0xd0, 0xb2, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, 0x98, 0xd0, + 0xbd, 0xd1, 0x82, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xbd, 0xd0, 0xb5, 0xd1, 0x82, + 0xd0, 0x9e, 0xd1, 0x82, 0xd0, 0xb2, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb8, 0xd1, + 0x82, 0xd1, 0x8c, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xb8, + 0xd0, 0xbc, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1, 0x82, 0xd0, + 0xb5, 0xd1, 0x80, 0xd0, 0xbd, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xba, 0xd0, 0xbe, + 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xbe, 0xd1, + 0x81, 0xd1, 0x82, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x86, + 0xd1, 0x8b, 0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x87, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, + 0x82, 0xd0, 0xb2, 0xd0, 0xb5, 0xd1, 0x83, 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xbe, + 0xd0, 0xb2, 0xd0, 0xb8, 0xd1, 0x8f, 0xd1, 0x85, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, + 0xbe, 0xd0, 0xb1, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xbc, 0xd1, 0x8b, 0xd0, 0xbf, + 0xd0, 0xbe, 0xd0, 0xbb, 0xd1, 0x83, 0xd1, 0x87, 0xd0, 0xb8, 0xd1, 0x82, 0xd1, + 0x8c, 0xd1, 0x8f, 0xd0, 0xb2, 0xd0, 0xbb, 0xd1, 0x8f, 0xd1, 0x8e, 0xd1, 0x82, + 0xd1, 0x81, 0xd1, 0x8f, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xb8, 0xd0, 0xb1, 0xd0, + 0xbe, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xb5, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xbc, + 0xd0, 0xbf, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, 0xb2, 0xd0, + 0xbd, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xb5, + 0xd1, 0x81, 0xd1, 0x80, 0xd0, 0xb5, 0xd0, 0xb4, 0xd1, 0x81, 0xd1, 0x82, 0xd0, + 0xb2, 0xd0, 0xb0, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x88, 0xd8, 0xa7, + 0xd8, 0xb6, 0xd9, 0x8a, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, + 0xa6, 0xd9, 0x8a, 0xd8, 0xb3, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, + 0xd8, 0xa7, 0xd9, 0x86, 0xd8, 0xaa, 0xd9, 0x82, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, + 0x85, 0xd8, 0xb4, 0xd8, 0xa7, 0xd8, 0xb1, 0xd9, 0x83, 0xd8, 0xa7, 0xd8, 0xaa, + 0xd9, 0x83, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb3, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, + 0xb1, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x83, + 0xd8, 0xaa, 0xd9, 0x88, 0xd8, 0xa8, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, + 0xb3, 0xd8, 0xb9, 0xd9, 0x88, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7, + 0xd8, 0xad, 0xd8, 0xb5, 0xd8, 0xa7, 0xd8, 0xa6, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, + 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, + 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb5, 0xd9, 0x88, 0xd8, + 0xaa, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, + 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xb1, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xaa, 0xd8, 0xb5, 0xd8, 0xa7, 0xd9, 0x85, 0xd9, 0x8a, 0xd9, 0x85, + 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa5, 0xd8, 0xb3, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, + 0x85, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7, + 0xd8, 0xb1, 0xd9, 0x83, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, + 0xb1, 0xd8, 0xa6, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xaa, 0x72, 0x6f, 0x62, 0x6f, + 0x74, 0x73, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, + 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x66, 0x6f, 0x6f, 0x74, + 0x65, 0x72, 0x22, 0x3e, 0x74, 0x68, 0x65, 0x20, 0x55, 0x6e, 0x69, 0x74, 0x65, + 0x64, 0x20, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x3c, 0x69, 0x6d, 0x67, 0x20, + 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x2e, + 0x6a, 0x70, 0x67, 0x7c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x7c, 0x74, 0x68, 0x75, + 0x6d, 0x62, 0x7c, 0x2e, 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x3c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x66, 0x72, + 0x61, 0x6d, 0x65, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, + 0x20, 0x73, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x64, + 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x66, 0x6f, 0x6e, + 0x74, 0x2d, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x6f, 0x6c, 0x64, + 0x3b, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x26, + 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x67, + 0x69, 0x6e, 0x3a, 0x30, 0x3b, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x3a, + 0x22, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x6e, 0x6f, 0x66, 0x6f, 0x6c, 0x6c, + 0x6f, 0x77, 0x22, 0x20, 0x50, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x77, 0x65, 0x6e, 0x74, + 0x69, 0x65, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x79, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x70, + 0x61, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x20, 0x45, + 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x61, 0x2e, 0x61, 0x73, 0x79, 0x6e, + 0x63, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x0d, 0x0a, 0x69, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, + 0x75, 0x74, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x22, 0x3e, 0x22, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x3c, 0x61, 0x20, + 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x22, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, + 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, 0x3c, 0x64, 0x65, 0x72, 0x69, + 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x27, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, + 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x0a, 0x3c, 0x2f, 0x62, 0x6f, + 0x64, 0x79, 0x3e, 0x0a, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0a, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69, + 0x7a, 0x65, 0x3a, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x6c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x3d, 0x22, 0x41, 0x72, 0x69, 0x61, 0x6c, 0x2c, + 0x20, 0x48, 0x65, 0x6c, 0x76, 0x65, 0x74, 0x69, 0x63, 0x61, 0x2c, 0x3c, 0x2f, + 0x61, 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63, + 0x61, 0x6c, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x65, 0x73, 0x74, 0x64, 0x3e, + 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x3c, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3e, + 0x3c, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x6c, 0x3d, + 0x22, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, + 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x28, 0x27, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, 0x22, + 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x3e, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, + 0x74, 0x68, 0x65, 0x74, 0x65, 0x6c, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x20, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0x20, 0x72, 0x65, 0x6c, 0x3d, + 0x22, 0x6e, 0x6f, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x22, 0x3e, 0x20, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, 0x22, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, + 0x22, 0x3e, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x68, 0x74, 0x74, 0x70, 0x25, 0x33, 0x41, + 0x25, 0x32, 0x46, 0x25, 0x32, 0x46, 0x77, 0x77, 0x77, 0x2e, 0x6d, 0x61, 0x6e, + 0x69, 0x66, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, + 0x66, 0x50, 0x72, 0x69, 0x6d, 0x65, 0x20, 0x4d, 0x69, 0x6e, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x66, 0x69, 0x78, 0x22, 0x3e, + 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, + 0x0d, 0x0a, 0x0d, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x65, 0x2d, 0x64, 0x69, 0x6d, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x68, 0x75, 0x72, 0x63, + 0x68, 0x20, 0x6f, 0x66, 0x20, 0x45, 0x6e, 0x67, 0x6c, 0x61, 0x6e, 0x64, 0x6f, + 0x66, 0x20, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x20, 0x43, 0x61, 0x72, 0x6f, 0x6c, + 0x69, 0x6e, 0x61, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x20, 0x6b, 0x69, 0x6c, + 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x65, 0x73, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x64, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, + 0x68, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6b, 0x6e, + 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x74, 0x69, + 0x63, 0x20, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x65, 0x74, 0x64, 0x65, 0x63, + 0x6c, 0x61, 0x72, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, + 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x62, + 0x79, 0x20, 0x74, 0x68, 0x65, 0x42, 0x65, 0x6e, 0x6a, 0x61, 0x6d, 0x69, 0x6e, + 0x20, 0x46, 0x72, 0x61, 0x6e, 0x6b, 0x6c, 0x69, 0x6e, 0x72, 0x6f, 0x6c, 0x65, + 0x2d, 0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x67, 0x61, 0x6d, 0x65, + 0x74, 0x68, 0x65, 0x20, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, + 0x79, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x20, 0x57, 0x65, 0x73, 0x74, 0x65, 0x72, + 0x6e, 0x20, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x70, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x47, 0x75, 0x74, 0x65, 0x6e, 0x62, + 0x65, 0x72, 0x67, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, 0x6c, 0x65, 0x73, 0x73, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, + 0x65, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x74, 0x6f, + 0x67, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, + 0x68, 0x65, 0x3e, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x3c, 0x6c, 0x69, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x69, 0x6e, 0x20, 0x73, 0x6f, 0x6d, 0x65, + 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x6d, 0x69, 0x6e, + 0x2e, 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x3e, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, + 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3c, 0x69, 0x6d, 0x67, + 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x20, 0x74, 0x68, 0x65, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x20, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x63, + 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, + 0x72, 0x65, 0x64, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x75, 0x6d, 0x20, 0x6d, 0x65, + 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x73, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x74, + 0x68, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x69, + 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x20, 0x61, + 0x67, 0x6f, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0d, 0x0a, 0x3c, 0x2f, + 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0d, 0xce, 0x95, 0xce, 0xbb, 0xce, 0xbb, 0xce, + 0xb7, 0xce, 0xbd, 0xce, 0xb9, 0xce, 0xba, 0xce, 0xac, 0x0a, 0x74, 0x61, 0x6b, + 0x65, 0x20, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x20, 0x6f, + 0x66, 0x61, 0x6e, 0x64, 0x2c, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x4d, 0x69, 0x63, 0x72, + 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, + 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x63, 0x65, 0x6e, + 0x74, 0x75, 0x72, 0x79, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x64, 0x69, 0x76, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x6c, 0x79, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, + 0x74, 0x68, 0x65, 0x6e, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x65, 0x78, + 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x73, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x73, 0x73, 0x65, + 0x76, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x74, 0x61, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x2e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x67, 0x20, 0x6d, 0x69, 0x6c, 0x69, 0x74, 0x61, 0x72, 0x79, 0x69, 0x73, 0x6f, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, + 0x65, 0x6f, 0x70, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, + 0x6f, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x4f, 0x6c, 0x64, 0x20, + 0x54, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x66, 0x72, 0x69, + 0x63, 0x61, 0x6e, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x73, + 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, + 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x6f, + 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x61, 0x6e, 0x20, 0x61, 0x72, 0x65, 0x61, 0x6d, + 0x61, 0x6b, 0x65, 0x73, 0x20, 0x69, 0x74, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, + 0x62, 0x6c, 0x65, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, + 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x72, 0x67, 0x75, 0x61, 0x62, + 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x74, 0x79, + 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, + 0x3e, 0x0a, 0x74, 0x68, 0x65, 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x65, 0x3d, + 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, 0x2f, 0x3e, + 0x0a, 0x63, 0x6f, 0x69, 0x6e, 0x63, 0x69, 0x64, 0x65, 0x20, 0x77, 0x69, 0x74, + 0x68, 0x20, 0x74, 0x68, 0x65, 0x74, 0x77, 0x6f, 0x2d, 0x74, 0x68, 0x69, 0x72, + 0x64, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x44, 0x75, 0x72, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, + 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x65, + 0x72, 0x69, 0x6f, 0x64, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x64, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, + 0x6e, 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x72, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x6c, 0x79, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x74, + 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e, 0x73, 0x63, 0x69, + 0x6f, 0x75, 0x73, 0x6e, 0x65, 0x73, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x66, 0x6f, + 0x72, 0x6d, 0x65, 0x72, 0x6c, 0x79, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, + 0x61, 0x73, 0x73, 0x75, 0x72, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x61, + 0x70, 0x70, 0x65, 0x61, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x6f, 0x63, 0x63, + 0x61, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x75, 0x73, 0x65, + 0x64, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x62, 0x73, + 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x3b, 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x3d, 0x22, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x22, 0x20, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x3b, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, + 0x3a, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x78, 0x2f, 0x6c, + 0x69, 0x62, 0x73, 0x2f, 0x6a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x31, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x3a, 0x23, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x61, 0x6e, 0x67, + 0x75, 0x61, 0x67, 0x65, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x3d, 0x22, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x68, 0x74, 0x74, 0x70, 0x2d, + 0x65, 0x71, 0x75, 0x69, 0x76, 0x3d, 0x22, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, + 0x79, 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3c, 0x2f, 0x61, 0x3e, 0x65, + 0x28, 0x22, 0x25, 0x33, 0x43, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x73, + 0x72, 0x63, 0x3d, 0x27, 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, + 0x22, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x22, 0x3e, 0x4f, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x68, 0x61, 0x6e, 0x64, + 0x2c, 0x2e, 0x6a, 0x70, 0x67, 0x7c, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x7c, 0x72, + 0x69, 0x67, 0x68, 0x74, 0x7c, 0x32, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, + 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x3c, 0x64, + 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x3a, 0x6e, 0x69, 0x6e, 0x65, 0x74, 0x65, 0x65, 0x6e, 0x74, 0x68, + 0x20, 0x63, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x79, 0x3c, 0x2f, 0x62, 0x6f, 0x64, + 0x79, 0x3e, 0x0d, 0x0a, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0d, 0x0a, + 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x73, 0x3b, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, + 0x69, 0x67, 0x6e, 0x3a, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x6f, 0x6e, + 0x74, 0x2d, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20, 0x62, 0x6f, 0x6c, + 0x64, 0x3b, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x22, + 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, + 0x22, 0x30, 0x22, 0x20, 0x22, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x6c, 0x69, 0x6e, 0x6b, + 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x34, 0x2f, 0x6c, 0x6f, 0x6f, 0x73, 0x65, 0x2e, + 0x64, 0x74, 0x64, 0x22, 0x3e, 0x0a, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x3c, 0x2f, + 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x3c, 0x2f, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x3e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x6c, 0x79, 0x20, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x66, 0x6f, 0x72, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, + 0x3b, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, + 0x62, 0x6f, 0x6c, 0x64, 0x3b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, + 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, 0x3c, 0x73, 0x70, + 0x61, 0x6e, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x6f, 0x6e, + 0x74, 0x2d, 0x6f, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x79, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x09, 0x3c, 0x64, 0x69, 0x76, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x64, + 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x20, 0x77, 0x69, + 0x64, 0x65, 0x20, 0x76, 0x61, 0x72, 0x69, 0x65, 0x74, 0x79, 0x20, 0x6f, 0x66, + 0x20, 0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, 0x68, 0x74, + 0x6d, 0x6c, 0x3e, 0x0d, 0x0a, 0x3c, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x26, + 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x22, 0x3e, + 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6e, 0x63, 0x65, + 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, + 0x3d, 0x68, 0x74, 0x74, 0x70, 0x25, 0x33, 0x41, 0x25, 0x32, 0x46, 0x25, 0x32, + 0x46, 0x77, 0x77, 0x77, 0x2e, 0x69, 0x6e, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, + 0x61, 0x72, 0x20, 0x63, 0x75, 0x6c, 0x74, 0x75, 0x72, 0x65, 0x74, 0x79, 0x70, + 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, + 0x2f, 0x3e, 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, + 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x48, 0x61, 0x72, 0x76, 0x61, 0x72, + 0x64, 0x20, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x74, + 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, 0x68, 0x72, 0x65, + 0x66, 0x3d, 0x22, 0x2f, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x20, + 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x4f, 0x78, 0x66, 0x6f, + 0x72, 0x64, 0x20, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, + 0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6b, 0x65, 0x79, 0x77, 0x6f, + 0x72, 0x64, 0x73, 0x22, 0x20, 0x63, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, + 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x74, 0x68, + 0x65, 0x20, 0x55, 0x6e, 0x69, 0x74, 0x65, 0x64, 0x20, 0x4b, 0x69, 0x6e, 0x67, + 0x64, 0x6f, 0x6d, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x67, 0x6f, + 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x3c, 0x64, 0x69, 0x76, 0x20, + 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, + 0x20, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x64, 0x69, + 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x2e, 0x6d, 0x69, 0x6e, 0x2e, 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x64, 0x65, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, + 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6c, 0x79, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x72, 0x64, + 0x61, 0x6e, 0x63, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x74, 0x65, 0x6c, 0x65, + 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x6c, 0x79, + 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x61, 0x66, 0x74, 0x65, 0x72, 0x65, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x61, 0x6e, 0x20, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x48, 0x6f, 0x77, 0x65, 0x76, + 0x65, 0x72, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, + 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x63, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x22, 0x20, 0x73, + 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x61, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x20, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x54, 0x65, 0x6c, 0x65, 0x63, 0x6f, + 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, + 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x6e, 0x6f, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, + 0x77, 0x22, 0x20, 0x74, 0x48, 0x6f, 0x6c, 0x79, 0x20, 0x52, 0x6f, 0x6d, 0x61, + 0x6e, 0x20, 0x45, 0x6d, 0x70, 0x65, 0x72, 0x6f, 0x72, 0x61, 0x6c, 0x6d, 0x6f, + 0x73, 0x74, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x6c, + 0x79, 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, + 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x22, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x61, + 0x72, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x53, 0x74, 0x61, 0x74, 0x65, 0x63, 0x75, + 0x6c, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x43, 0x49, 0x41, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x20, + 0x46, 0x61, 0x63, 0x74, 0x62, 0x6f, 0x6f, 0x6b, 0x74, 0x68, 0x65, 0x20, 0x6d, + 0x6f, 0x73, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, + 0x61, 0x6e, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x61, 0x72, 0x79, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x62, + 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x3c, 0x6c, 0x69, + 0x3e, 0x3c, 0x65, 0x6d, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, + 0x22, 0x2f, 0x74, 0x68, 0x65, 0x20, 0x41, 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x69, + 0x63, 0x20, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, + 0x6c, 0x79, 0x20, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2c, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x6c, 0x79, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, + 0x20, 0x74, 0x68, 0x65, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20, + 0x4f, 0x74, 0x74, 0x6f, 0x6d, 0x61, 0x6e, 0x20, 0x45, 0x6d, 0x70, 0x69, 0x72, + 0x65, 0x3e, 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x41, 0x6e, 0x20, 0x49, 0x6e, 0x74, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x63, 0x6f, + 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x65, + 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x20, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, + 0x69, 0x6e, 0x64, 0x69, 0x67, 0x65, 0x6e, 0x6f, 0x75, 0x73, 0x20, 0x70, 0x65, + 0x6f, 0x70, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x65, 0x64, 0x69, + 0x6e, 0x67, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x69, 0x6e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x74, 0x68, 0x65, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x20, 0x68, 0x61, + 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x64, + 0x69, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x74, + 0x68, 0x72, 0x65, 0x65, 0x61, 0x64, 0x6a, 0x61, 0x63, 0x65, 0x6e, 0x74, 0x20, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x69, 0x73, 0x20, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x6f, + 0x72, 0x64, 0x69, 0x73, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x77, 0x69, + 0x64, 0x65, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, 0x65, 0x64, + 0x20, 0x61, 0x73, 0x68, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6d, + 0x70, 0x6f, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x66, 0x6f, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, + 0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x52, 0x65, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x6c, + 0x79, 0x20, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x74, 0x68, 0x65, + 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, + 0x6f, 0x66, 0x61, 0x72, 0x65, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x61, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x72, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x6c, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x69, 0x73, 0x20, 0x61, + 0x6c, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x72, 0x65, 0x6c, + 0x79, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x75, + 0x67, 0x68, 0x20, 0x74, 0x68, 0x65, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, 0x65, + 0x6e, 0x20, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x76, 0x69, + 0x64, 0x65, 0x6f, 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x69, 0x63, 0x20, 0x6c, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x20, 0x61, 0x63, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x72, 0x6f, + 0x6d, 0x20, 0x74, 0x68, 0x65, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x6c, 0x79, 0x20, + 0x61, 0x66, 0x74, 0x65, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x68, 0x72, 0x65, + 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x20, + 0x6f, 0x66, 0x20, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x3c, + 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x7c, 0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, + 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x49, 0x6e, 0x20, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x2c, 0x20, 0x74, 0x68, + 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x6f, + 0x74, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x6f, 0x72, 0x20, 0x6f, 0x74, 0x68, 0x65, + 0x72, 0x20, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x74, 0x68, + 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x79, 0x65, + 0x61, 0x72, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x2f, 0x64, 0x69, 0x76, + 0x3e, 0x0d, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, 0x0d, 0x0a, + 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x2e, 0x70, 0x68, 0x70, 0x77, 0x61, 0x73, 0x20, 0x65, 0x73, 0x74, 0x61, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x6d, 0x69, 0x6e, + 0x2e, 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x3e, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x65, + 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x61, 0x20, 0x73, 0x74, 0x72, 0x6f, + 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, + 0x74, 0x6f, 0x70, 0x3a, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x67, 0x72, 0x61, 0x64, + 0x75, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, + 0x65, 0x54, 0x72, 0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, + 0x79, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x28, 0x22, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x29, 0x3b, 0x48, 0x6f, + 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69, + 0x76, 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x3b, + 0x20, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x6c, 0x65, 0x66, 0x74, 0x3a, + 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x67, + 0x61, 0x69, 0x6e, 0x73, 0x74, 0x30, 0x3b, 0x20, 0x76, 0x65, 0x72, 0x74, 0x69, + 0x63, 0x61, 0x6c, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x55, 0x6e, 0x66, + 0x6f, 0x72, 0x74, 0x75, 0x6e, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x2c, 0x20, 0x74, + 0x68, 0x65, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x2f, 0x78, 0x2d, 0x69, 0x63, 0x6f, 0x6e, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, + 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x66, + 0x69, 0x78, 0x22, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x09, 0x09, 0x3c, 0x2f, + 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x09, 0x09, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, + 0x0a, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, + 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0xd0, 0x91, 0xd1, 0x8a, 0xd0, 0xbb, 0xd0, + 0xb3, 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb8, 0xd0, 0xb1, + 0xd1, 0x8a, 0xd0, 0xbb, 0xd0, 0xb3, 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x81, 0xd0, + 0xba, 0xd0, 0xb8, 0xd0, 0xa4, 0xd0, 0xb5, 0xd0, 0xb4, 0xd0, 0xb5, 0xd1, 0x80, + 0xd0, 0xb0, 0xd1, 0x86, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xbd, 0xd0, 0xb5, 0xd1, + 0x81, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xbb, 0xd1, 0x8c, 0xd0, 0xba, 0xd0, 0xbe, + 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xbe, 0xd0, 0xb1, 0xd1, 0x89, 0xd0, 0xb5, 0xd0, + 0xbd, 0xd0, 0xb8, 0xd0, 0xb5, 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xbe, 0xd0, 0xb1, + 0xd1, 0x89, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, 0xbf, 0xd1, + 0x80, 0xd0, 0xbe, 0xd0, 0xb3, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbc, 0xd0, 0xbc, + 0xd1, 0x8b, 0xd0, 0x9e, 0xd1, 0x82, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, + 0xb2, 0xd0, 0xb8, 0xd1, 0x82, 0xd1, 0x8c, 0xd0, 0xb1, 0xd0, 0xb5, 0xd1, 0x81, + 0xd0, 0xbf, 0xd0, 0xbb, 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, + 0xbc, 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xb0, + 0xd0, 0xbb, 0xd1, 0x8b, 0xd0, 0xbf, 0xd0, 0xbe, 0xd0, 0xb7, 0xd0, 0xb2, 0xd0, + 0xbe, 0xd0, 0xbb, 0xd1, 0x8f, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xbf, 0xd0, 0xbe, + 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xb4, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, + 0xb5, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb7, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x87, + 0xd0, 0xbd, 0xd1, 0x8b, 0xd1, 0x85, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, + 0xb4, 0xd1, 0x83, 0xd0, 0xba, 0xd1, 0x86, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xbf, + 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb3, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbc, 0xd0, + 0xbc, 0xd0, 0xb0, 0xd0, 0xbf, 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xbd, 0xd0, 0xbe, + 0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x8c, 0xd1, 0x8e, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, + 0x85, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb8, 0xd1, 0x82, 0xd1, 0x81, 0xd1, 0x8f, + 0xd0, 0xb8, 0xd0, 0xb7, 0xd0, 0xb1, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, + 0xbd, 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xb5, + 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, 0xb8, 0xd0, + 0xb7, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, + 0xd1, 0x8f, 0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, + 0xbe, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0x90, 0xd0, 0xbb, 0xd0, 0xb5, + 0xd0, 0xba, 0xd1, 0x81, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb4, 0xd1, 0x80, 0xe0, + 0xa4, 0xa6, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0xa8, + 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xaa, 0xe0, + 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4, + 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa5, 0x81, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, + 0xb9, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa6, + 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa1, 0xe0, + 0xa4, 0xbf, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, + 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x80, + 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xa7, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb5, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, + 0xa1, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x9a, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa0, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0x9a, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0x82, + 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa4, 0xa6, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, + 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0x85, 0xe0, + 0xa4, 0xa8, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xb0, 0xe0, 0xa4, 0x91, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, + 0xb6, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8b, + 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x95, 0xe0, + 0xa4, 0xb8, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xab, 0xe0, 0xa4, + 0xbc, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0xb6, + 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa4, 0xe0, + 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xb0, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xaa, + 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xaf, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, + 0xa6, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbf, 0xe0, + 0xa4, 0x89, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x9a, 0xe0, + 0xa4, 0xbf, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa0, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x8d, 0xe0, + 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xaa, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, + 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xa1, 0xe0, + 0xa4, 0xbc, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, + 0xa8, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, + 0xe0, 0xa4, 0xb6, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0xa3, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, + 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb7, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x97, 0xe0, 0xa5, + 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa3, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, + 0xa4, 0xac, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0x82, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0x9a, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0x9a, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x89, 0xe0, + 0xa4, 0xaa, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xa7, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, 0xe0, + 0xa4, 0xaa, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, + 0x89, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x80, + 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa7, 0xe0, + 0xa5, 0x8d, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, + 0xb9, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa6, 0xe0, + 0xa5, 0x8b, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, + 0xa1, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x86, + 0xe0, 0xa4, 0x88, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x8f, 0xe0, + 0xa4, 0xb2, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, + 0xe0, 0xa4, 0x96, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x86, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, + 0xb6, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x81, + 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa7, 0xe0, 0xa4, 0xac, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbc, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xb0, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xb5, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa8, + 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, + 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb6, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbf, 0xe0, + 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, + 0x81, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, + 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, + 0xa4, 0xa5, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, + 0x8b, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xb0, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7, 0xd8, + 0xb1, 0xd9, 0x83, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, + 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, + 0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x85, 0xd8, 0xa8, 0xd9, 0x8a, 0xd9, 0x88, + 0xd8, 0xaa, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, + 0xa7, 0xd9, 0x87, 0xd8, 0xaf, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xb9, 0xd8, 0xaf, + 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb2, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, + 0xb1, 0xd8, 0xb9, 0xd8, 0xaf, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, + 0xd8, 0xaf, 0xd9, 0x88, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa5, 0xd8, + 0xb3, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x85, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7, + 0xd9, 0x84, 0xd9, 0x81, 0xd9, 0x88, 0xd8, 0xaa, 0xd9, 0x88, 0xd8, 0xb4, 0xd9, + 0x88, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb3, 0xd8, 0xa7, + 0xd8, 0xa8, 0xd9, 0x82, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, + 0x85, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x88, 0xd9, 0x85, 0xd8, 0xa7, 0xd8, 0xaa, + 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb3, 0xd9, 0x84, 0xd8, 0xb3, 0xd9, + 0x84, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xac, 0xd8, 0xb1, + 0xd8, 0xa7, 0xd9, 0x81, 0xd9, 0x8a, 0xd9, 0x83, 0xd8, 0xb3, 0xd8, 0xa7, 0xd9, + 0x84, 0xd8, 0xa7, 0xd8, 0xb3, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x85, 0xd9, 0x8a, + 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xb5, 0xd8, + 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, 0xaa, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, + 0x64, 0x73, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, + 0x77, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x31, 0x39, 0x39, 0x39, 0x2f, 0x78, + 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x3e, 0x3c, 0x61, 0x20, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x3d, 0x22, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x22, 0x20, 0x74, + 0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3b, 0x20, 0x63, 0x68, 0x61, + 0x72, 0x73, 0x65, 0x74, 0x3d, 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x3d, 0x22, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x22, 0x3e, 0x3c, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x70, 0x61, 0x64, 0x64, 0x69, + 0x6e, 0x67, 0x3d, 0x22, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x3d, 0x22, 0x6f, 0x66, 0x66, 0x22, 0x20, 0x74, 0x65, 0x78, + 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x20, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x3b, 0x74, 0x6f, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x62, 0x61, 0x63, 0x6b, + 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, + 0x20, 0x23, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x2f, 0x64, 0x69, 0x76, 0x3e, + 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, + 0x3d, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x23, 0x22, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x22, 0x3e, 0x3c, 0x69, 0x6d, 0x67, + 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x0a, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3d, 0x22, 0x2f, + 0x2f, 0x45, 0x4e, 0x22, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x77, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x55, 0x52, + 0x49, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x28, 0x22, 0x20, + 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x3a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x64, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x27, + 0x3c, 0x73, 0x63, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, + 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x3b, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, + 0x67, 0x69, 0x6e, 0x2d, 0x74, 0x6f, 0x70, 0x3a, 0x2e, 0x6d, 0x69, 0x6e, 0x2e, + 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, + 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x77, 0x33, 0x2e, 0x6f, 0x72, 0x67, + 0x2f, 0x31, 0x39, 0x39, 0x39, 0x2f, 0x78, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x20, + 0x0a, 0x0d, 0x0a, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0d, 0x0a, 0x3c, + 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x2f, + 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, 0x22, 0x5f, 0x62, 0x6c, + 0x61, 0x6e, 0x6b, 0x22, 0x3e, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x68, 0x72, + 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x65, 0x6e, + 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, + 0x22, 0x3f, 0x3e, 0x0a, 0x77, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x3f, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, + 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x20, 0x73, 0x74, 0x79, + 0x6c, 0x65, 0x3d, 0x22, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x3a, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, + 0x63, 0x73, 0x73, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x20, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3d, 0x22, 0x6f, 0x67, 0x3a, + 0x74, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, + 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, + 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, + 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, + 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, + 0x65, 0x74, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x68, + 0x74, 0x6d, 0x6c, 0x3b, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, + 0x75, 0x74, 0x66, 0x2d, 0x38, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, + 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x31, 0x30, + 0x30, 0x25, 0x22, 0x20, 0x49, 0x6e, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x64, 0x65, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x61, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x3c, 0x2f, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x0a, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x20, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x6f, 0x6e, 0x74, + 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x31, 0x3e, 0x3c, 0x2f, 0x73, 0x70, 0x61, + 0x6e, 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x69, 0x64, 0x3d, 0x67, 0x62, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x43, 0x6f, + 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x73, 0x72, + 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x69, 0x6d, 0x45, + 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, 0x20, + 0x6f, 0x66, 0x20, 0x53, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x64, 0x69, + 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x3a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x2e, 0x67, 0x65, + 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x79, 0x49, 0x64, 0x28, + 0x69, 0x64, 0x29, 0x69, 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x6a, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x28, 0x27, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x27, 0x29, + 0x3b, 0x20, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x3d, 0x22, 0x6f, 0x67, 0x3a, 0xd0, 0x91, 0xd1, 0x8a, 0xd0, + 0xbb, 0xd0, 0xb3, 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb8, + 0x0a, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x3e, 0x50, 0x72, 0x69, 0x76, 0x61, + 0x63, 0x79, 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3c, 0x2f, 0x61, 0x3e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x6d, 0x61, + 0x72, 0x67, 0x69, 0x6e, 0x3a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, + 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x3e, 0x3c, + 0x69, 0x6d, 0x67, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x69, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x26, 0x71, + 0x75, 0x6f, 0x74, 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x70, 0x6f, 0x70, 0x75, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x20, 0x57, + 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x2c, 0x20, 0x44, 0x2e, + 0x43, 0x2e, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x62, 0x61, 0x63, + 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x61, 0x6d, 0x6f, 0x6e, 0x67, + 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x73, + 0x2c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x66, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x63, 0x68, 0x61, 0x72, + 0x61, 0x63, 0x74, 0x65, 0x72, 0x20, 0x4f, 0x78, 0x66, 0x6f, 0x72, 0x64, 0x20, + 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x20, 0x6d, 0x69, + 0x73, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x20, 0x6f, 0x66, 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, + 0x2c, 0x20, 0x68, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x73, 0x74, 0x79, + 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, + 0x3d, 0x22, 0x2f, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x62, 0x69, 0x61, 0x20, 0x55, + 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x65, 0x78, 0x70, 0x61, + 0x6e, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x75, 0x73, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x69, 0x6e, 0x64, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, + 0x65, 0x68, 0x61, 0x76, 0x65, 0x20, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x66, 0x66, 0x69, 0x6c, 0x69, + 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, + 0x63, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, + 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, + 0x6f, 0x66, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x3e, + 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x3c, 0x2f, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x3e, 0x52, 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x20, 0x6f, 0x66, 0x20, 0x49, 0x72, 0x65, 0x6c, 0x61, 0x6e, 0x64, 0x0a, 0x3c, + 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x3c, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x77, + 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x68, 0x65, 0x61, 0x64, + 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, 0x61, 0x72, + 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x69, 0x6d, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x64, 0x65, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x64, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, + 0x6c, 0x20, 0x52, 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x6f, 0x66, + 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, + 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x79, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x4e, + 0x6f, 0x74, 0x65, 0x2c, 0x20, 0x68, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x20, + 0x74, 0x6f, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, + 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x61, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x61, 0x6e, 0x63, + 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x64, 0x65, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x75, 0x6e, 0x64, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x69, 0x73, 0x20, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x68, 0x69, 0x73, 0x20, 0x79, + 0x6f, 0x75, 0x6e, 0x67, 0x65, 0x72, 0x20, 0x62, 0x72, 0x6f, 0x74, 0x68, 0x65, + 0x72, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x3c, 0x2f, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x74, 0x74, 0x70, + 0x2d, 0x65, 0x71, 0x75, 0x69, 0x76, 0x3d, 0x22, 0x58, 0x2d, 0x55, 0x41, 0x2d, + 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x6f, 0x66, 0x20, 0x42, 0x72, 0x69, 0x74, + 0x69, 0x73, 0x68, 0x20, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x62, 0x69, 0x61, 0x68, + 0x61, 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x63, 0x72, 0x69, 0x74, 0x69, + 0x63, 0x69, 0x7a, 0x65, 0x64, 0x28, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, + 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x74, 0x68, 0x65, 0x30, 0x22, 0x20, + 0x63, 0x65, 0x6c, 0x6c, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, + 0x30, 0x22, 0x20, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x73, 0x20, + 0x6f, 0x66, 0x20, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x72, 0x65, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x73, 0x20, 0x68, 0x65, 0x72, 0x65, 0x2e, 0x20, 0x46, + 0x6f, 0x72, 0x68, 0x61, 0x76, 0x65, 0x20, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, + 0x65, 0x6e, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x25, 0x33, 0x45, 0x25, 0x33, + 0x43, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x25, 0x33, 0x45, 0x22, 0x29, + 0x29, 0x3b, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x3c, 0x6c, 0x69, 0x3e, + 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x74, 0x65, 0x78, + 0x74, 0x2d, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, + 0x6e, 0x6f, 0x6e, 0x65, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x20, 0x6e, 0x6f, 0x6e, 0x65, 0x3c, 0x6d, + 0x65, 0x74, 0x61, 0x20, 0x68, 0x74, 0x74, 0x70, 0x2d, 0x65, 0x71, 0x75, 0x69, + 0x76, 0x3d, 0x22, 0x58, 0x2d, 0x6e, 0x65, 0x77, 0x20, 0x44, 0x61, 0x74, 0x65, + 0x28, 0x29, 0x2e, 0x67, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x28, 0x29, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x78, + 0x2d, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, + 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3d, 0x22, 0x6a, 0x61, 0x76, + 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x68, 0x72, 0x65, + 0x66, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x6a, 0x61, 0x76, + 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3a, 0x2d, 0x2d, 0x3e, 0x0d, 0x0a, + 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, + 0x22, 0x74, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x27, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x68, 0x6f, 0x72, 0x74, + 0x63, 0x75, 0x74, 0x20, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0x20, 0x68, 0x72, 0x65, + 0x66, 0x3d, 0x22, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, 0x3c, 0x64, + 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x3c, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x22, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, 0x74, 0x3c, 0x2f, + 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x3d, 0x2f, 0x61, 0x3e, 0x20, 0x3c, 0x61, 0x20, 0x68, + 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x20, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x63, 0x79, 0x3d, 0x22, 0x58, 0x2d, 0x55, 0x41, 0x2d, 0x43, 0x6f, + 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x20, 0x63, 0x6f, 0x6e, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x20, + 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x20, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x3c, 0x2f, 0x75, + 0x6c, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x61, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3c, 0x2f, 0x61, 0x3e, + 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x3c, + 0x6c, 0x69, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x66, 0x6f, 0x72, + 0x6d, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x74, 0x79, + 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x71, 0x22, 0x3c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x31, 0x30, 0x30, 0x25, 0x22, 0x20, 0x62, + 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, + 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x63, 0x75, 0x74, + 0x20, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0x20, 0x68, 0x36, 0x3e, 0x3c, 0x75, 0x6c, + 0x3e, 0x3c, 0x6c, 0x69, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, + 0x22, 0x20, 0x20, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x68, 0x74, 0x74, 0x70, + 0x2d, 0x65, 0x71, 0x75, 0x69, 0x76, 0x3d, 0x22, 0x63, 0x73, 0x73, 0x22, 0x20, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x3d, 0x22, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, + 0x22, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x22, 0x20, 0x74, 0x79, + 0x70, 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2f, 0x22, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x62, + 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x68, 0x74, 0x6d, + 0x6c, 0x3b, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, 0x75, 0x74, + 0x66, 0x2d, 0x38, 0x22, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x3d, 0x22, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x3d, 0x22, 0x74, 0x65, 0x0d, 0x0a, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, + 0x68, 0x74, 0x74, 0x70, 0x2d, 0x65, 0x71, 0x75, 0x69, 0x76, 0x3d, 0x22, 0x3e, + 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x63, 0x65, 0x6c, + 0x6c, 0x73, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x3e, + 0x3b, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x3c, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x68, + 0x65, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6e, 0x65, 0x63, + 0x65, 0x73, 0x73, 0x61, 0x72, 0x69, 0x6c, 0x79, 0x46, 0x6f, 0x72, 0x20, 0x6d, + 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x65, 0x67, 0x69, + 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x3c, 0x21, 0x44, 0x4f, + 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x3c, 0x68, + 0x74, 0x6d, 0x6c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, + 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x3d, 0x22, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x3a, 0x76, 0x6f, 0x69, 0x64, 0x28, 0x30, 0x29, 0x3b, 0x22, 0x65, 0x66, + 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x3d, 0x22, 0x6f, 0x66, 0x66, 0x22, 0x20, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x3e, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, + 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, + 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, + 0x68, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6c, + 0x64, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x6d, 0x69, 0x73, 0x63, 0x6f, + 0x6e, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, + 0x68, 0x65, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69, + 0x76, 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x64, 0x75, 0x72, 0x69, + 0x6e, 0x67, 0x20, 0x68, 0x69, 0x73, 0x20, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, + 0x6d, 0x65, 0x2c, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x74, 0x79, 0x70, + 0x65, 0x3d, 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x78, 0x2d, 0x69, 0x63, + 0x6f, 0x6e, 0x22, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, + 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x64, 0x69, + 0x70, 0x6c, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x20, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x74, 0x65, + 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x6d, + 0x65, 0x74, 0x61, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, 0x22, + 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x22, 0x3e, 0x3c, 0x69, 0x6d, 0x67, + 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x69, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x65, + 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x20, + 0x6f, 0x66, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x64, 0x69, + 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x26, 0x61, 0x6d, 0x70, + 0x3b, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x6e, 0x62, + 0x73, 0x70, 0x3b, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x65, 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x71, 0x75, 0x69, + 0x74, 0x65, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x64, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x64, 0x69, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x63, + 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, + 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x77, 0x69, 0x64, 0x65, 0x6c, 0x79, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x77, 0x61, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x77, 0x69, 0x74, 0x68, 0x20, 0x76, + 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, + 0x73, 0x68, 0x61, 0x76, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x28, 0x64, 0x6f, 0x63, 0x75, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x65, 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, + 0x70, 0x65, 0x64, 0x65, 0x74, 0x61, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, + 0x74, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x3e, 0x20, 0x74, 0x79, + 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, + 0x20, 0x2f, 0x3e, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x61, 0x62, 0x6c, 0x79, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6d, 0x6f, + 0x72, 0x65, 0x20, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x6c, 0x79, 0x20, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x74, + 0x68, 0x61, 0x74, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6f, 0x74, 0x68, + 0x65, 0x72, 0x77, 0x69, 0x73, 0x65, 0x70, 0x65, 0x72, 0x70, 0x65, 0x6e, 0x64, + 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, + 0x73, 0x74, 0x79, 0x6c, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, + 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, + 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x20, 0x72, 0x65, 0x73, + 0x69, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x76, 0x65, 0x6c, + 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x20, 0x70, 0x72, + 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x65, 0x63, 0x6f, 0x6e, + 0x6f, 0x6d, 0x69, 0x63, 0x20, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, + 0x65, 0x6e, 0x74, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x66, 0x6f, 0x72, + 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, + 0x6c, 0x20, 0x6f, 0x63, 0x63, 0x61, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x6f, + 0x72, 0x74, 0x75, 0x67, 0x75, 0xc3, 0xaa, 0x73, 0x20, 0x28, 0x45, 0x75, 0x72, + 0x6f, 0x70, 0x65, 0x75, 0x29, 0xd0, 0xa3, 0xd0, 0xba, 0xd1, 0x80, 0xd0, 0xb0, + 0xd1, 0x97, 0xd0, 0xbd, 0xd1, 0x81, 0xd1, 0x8c, 0xd0, 0xba, 0xd0, 0xb0, 0xd1, + 0x83, 0xd0, 0xba, 0xd1, 0x80, 0xd0, 0xb0, 0xd1, 0x97, 0xd0, 0xbd, 0xd1, 0x81, + 0xd1, 0x8c, 0xd0, 0xba, 0xd0, 0xb0, 0xd0, 0xa0, 0xd0, 0xbe, 0xd1, 0x81, 0xd1, + 0x81, 0xd0, 0xb8, 0xd0, 0xb9, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xb9, + 0xd0, 0xbc, 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, + 0xb0, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1, 0x84, + 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbc, 0xd0, 0xb0, 0xd1, 0x86, 0xd0, 0xb8, 0xd0, + 0xb8, 0xd1, 0x83, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb2, 0xd0, 0xbb, + 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, + 0xbe, 0xd0, 0xb1, 0xd1, 0x85, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb8, 0xd0, 0xbc, + 0xd0, 0xbe, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1, 0x84, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, + 0xbc, 0xd0, 0xb0, 0xd1, 0x86, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, 0x98, 0xd0, 0xbd, + 0xd1, 0x84, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbc, 0xd0, 0xb0, 0xd1, 0x86, 0xd0, + 0xb8, 0xd1, 0x8f, 0xd0, 0xa0, 0xd0, 0xb5, 0xd1, 0x81, 0xd0, 0xbf, 0xd1, 0x83, + 0xd0, 0xb1, 0xd0, 0xbb, 0xd0, 0xb8, 0xd0, 0xba, 0xd0, 0xb8, 0xd0, 0xba, 0xd0, + 0xbe, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x87, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x82, + 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1, 0x84, 0xd0, 0xbe, 0xd1, + 0x80, 0xd0, 0xbc, 0xd0, 0xb0, 0xd1, 0x86, 0xd0, 0xb8, 0xd1, 0x8e, 0xd1, 0x82, + 0xd0, 0xb5, 0xd1, 0x80, 0xd1, 0x80, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, + 0x80, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xb4, 0xd0, 0xbe, 0xd1, 0x81, 0xd1, 0x82, + 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x87, 0xd0, 0xbd, 0xd0, 0xbe, 0xd8, + 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xaa, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, 0xac, + 0xd8, 0xaf, 0xd9, 0x88, 0xd9, 0x86, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, + 0xb4, 0xd8, 0xaa, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x83, 0xd8, 0xa7, 0xd8, 0xaa, + 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x82, 0xd8, 0xaa, 0xd8, 0xb1, 0xd8, + 0xa7, 0xd8, 0xad, 0xd8, 0xa7, 0xd8, 0xaa, 0x68, 0x74, 0x6d, 0x6c, 0x3b, 0x20, + 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, 0x55, 0x54, 0x46, 0x2d, 0x38, + 0x22, 0x20, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x28, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2d, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, + 0x79, 0x70, 0x65, 0x3d, 0x22, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x22, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x27, 0x74, 0x65, 0x78, 0x74, 0x2f, + 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x3c, 0x69, 0x6d, 0x67, 0x20, + 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x22, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x77, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x63, 0x75, 0x74, 0x20, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0x20, + 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x22, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x3d, 0x22, 0x6f, 0x66, 0x66, 0x22, + 0x20, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, + 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x3c, 0x2f, 0x61, 0x3e, + 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x0a, 0x3c, 0x6c, 0x69, 0x20, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x3d, 0x22, 0x63, 0x73, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, + 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, 0x3c, + 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, + 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x61, + 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x22, 0x20, 0x0d, 0x0a, 0x3c, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, + 0x74, 0x65, 0x78, 0x74, 0x2f, 0x20, 0x6f, 0x6e, 0x63, 0x6c, 0x69, 0x63, 0x6b, + 0x3d, 0x22, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3a, + 0x28, 0x6e, 0x65, 0x77, 0x20, 0x44, 0x61, 0x74, 0x65, 0x29, 0x2e, 0x67, 0x65, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x28, 0x29, 0x7d, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x3d, 0x22, 0x31, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, + 0x31, 0x22, 0x20, 0x50, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x27, 0x73, 0x20, 0x52, + 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x6f, 0x66, 0x20, 0x20, 0x3c, + 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x64, 0x65, + 0x63, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x75, 0x6e, 0x64, 0x65, + 0x72, 0x74, 0x68, 0x65, 0x20, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x6e, 0x69, 0x6e, + 0x67, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x3c, 0x2f, 0x64, 0x69, + 0x76, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, + 0x69, 0x76, 0x3e, 0x0a, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x3c, + 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, + 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x23, 0x76, 0x69, 0x65, 0x77, 0x70, + 0x6f, 0x72, 0x74, 0x7b, 0x6d, 0x69, 0x6e, 0x2d, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x3a, 0x0a, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x73, 0x72, + 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x20, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x20, + 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x0a, 0x3c, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x3c, 0x21, 0x44, 0x4f, 0x43, + 0x54, 0x59, 0x50, 0x45, 0x20, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0a, 0x3c, 0x21, + 0x2d, 0x2d, 0x5b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x20, 0x41, 0x69, 0x72, 0x70, 0x6f, 0x72, 0x74, 0x3e, 0x0a, + 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x61, 0x20, + 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x77, 0xe0, 0xb8, 0xa0, 0xe0, 0xb8, 0xb2, 0xe0, 0xb8, 0xa9, 0xe0, 0xb8, 0xb2, + 0xe0, 0xb9, 0x84, 0xe0, 0xb8, 0x97, 0xe0, 0xb8, 0xa2, 0xe1, 0x83, 0xa5, 0xe1, + 0x83, 0x90, 0xe1, 0x83, 0xa0, 0xe1, 0x83, 0x97, 0xe1, 0x83, 0xa3, 0xe1, 0x83, + 0x9a, 0xe1, 0x83, 0x98, 0xe6, 0xad, 0xa3, 0xe9, 0xab, 0x94, 0xe4, 0xb8, 0xad, + 0xe6, 0x96, 0x87, 0x20, 0x28, 0xe7, 0xb9, 0x81, 0xe9, 0xab, 0x94, 0x29, 0xe0, + 0xa4, 0xa8, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8b, 0xe0, + 0xa4, 0xa1, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb7, 0xe0, 0xa5, + 0x87, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x9c, + 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, + 0xac, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa7, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, + 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xaa, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, + 0x8d, 0xe0, 0xa4, 0xb5, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb8, 0xe0, + 0xa5, 0x8d, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa3, 0xe0, 0xa4, + 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0x97, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xbf, 0xe0, + 0xa4, 0x9f, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa0, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, + 0x82, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0x9e, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x85, 0xe0, + 0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, + 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xad, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa4, 0x97, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, + 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x81, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x95, 0xe0, + 0xa4, 0xbf, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, + 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb7, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, + 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x81, 0xe0, 0xa4, 0x9a, 0xe0, + 0xa4, 0xa4, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xb0, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa7, 0xe0, 0xa4, 0xa8, + 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, + 0xa4, 0xaa, 0xe0, 0xa4, 0xa3, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, + 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x87, + 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, + 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, + 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xb2, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, + 0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xab, 0xe0, 0xa4, 0xbc, 0xe0, 0xa5, 0x8d, + 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa8, 0xe0, + 0xa4, 0xbf, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, + 0xbe, 0xe0, 0xa4, 0xa3, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xae, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa1, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x2e, 0x67, 0x65, 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x42, 0x79, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x28, + 0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, 0x68, 0x74, 0x6d, + 0x6c, 0x3e, 0x0a, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x3c, 0x6d, 0x65, 0x74, + 0x61, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, 0x22, 0x75, 0x74, + 0x66, 0x2d, 0x38, 0x22, 0x3e, 0x3a, 0x75, 0x72, 0x6c, 0x22, 0x20, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x2e, 0x63, 0x73, 0x73, 0x22, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x73, 0x74, 0x79, + 0x6c, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, + 0x2f, 0x63, 0x73, 0x73, 0x22, 0x3e, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, + 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, + 0x3d, 0x22, 0x77, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x31, 0x39, 0x39, 0x39, + 0x2f, 0x78, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x20, 0x78, 0x6d, 0x6c, 0x74, 0x79, + 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x3d, 0x22, 0x67, 0x65, 0x74, 0x22, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x3d, 0x22, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, + 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, 0x20, + 0x3d, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x65, + 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x74, 0x79, 0x70, 0x65, 0x3d, + 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x78, 0x2d, 0x69, 0x63, 0x6f, 0x6e, + 0x22, 0x20, 0x2f, 0x3e, 0x63, 0x65, 0x6c, 0x6c, 0x70, 0x61, 0x64, 0x64, 0x69, + 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x70, + 0x2e, 0x63, 0x73, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, + 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, 0x3c, 0x2f, 0x61, 0x3e, + 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x3c, 0x6c, 0x69, 0x3e, 0x3c, 0x61, 0x20, 0x68, + 0x72, 0x65, 0x66, 0x3d, 0x22, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, + 0x22, 0x31, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x31, + 0x22, 0x22, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x73, 0x74, 0x79, + 0x6c, 0x65, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x6e, + 0x6f, 0x6e, 0x65, 0x3b, 0x22, 0x3e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x74, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x2d, 0x2f, 0x2f, 0x57, 0x33, 0x43, 0x2f, 0x2f, 0x44, 0x54, 0x44, + 0x20, 0x58, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x65, 0x6c, + 0x6c, 0x73, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x20, + 0x63, 0x65, 0x6c, 0x6c, 0x70, 0x61, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, + 0x22, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3d, 0x22, 0x2f, 0x61, 0x3e, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c, + 0x73, 0x70, 0x61, 0x6e, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x3d, 0x22, 0x73, 0x0a, + 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, + 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x3d, 0x22, 0x4a, 0x61, 0x76, 0x61, 0x53, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x22, 0x20, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x67, 0x65, 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, + 0x67, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x70, 0x61, + 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x79, 0x70, 0x65, 0x3d, + 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, 0x6d, 0x65, + 0x64, 0x69, 0x61, 0x3d, 0x22, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x27, 0x74, 0x65, + 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x27, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x63, + 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x79, 0x70, 0x65, + 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, 0x72, + 0x65, 0x6c, 0x3d, 0x22, 0x73, 0x74, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x3d, 0x22, 0x31, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x31, + 0x22, 0x20, 0x3d, 0x27, 0x2b, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x55, 0x52, + 0x49, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x28, 0x3c, 0x6c, + 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x61, 0x6c, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x74, 0x65, 0x22, 0x20, 0x0a, 0x62, 0x6f, 0x64, 0x79, 0x2c, + 0x20, 0x74, 0x72, 0x2c, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2c, 0x20, 0x74, + 0x65, 0x78, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x6d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x70, 0x6f, 0x73, 0x74, 0x22, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x3e, 0x0a, 0x3c, 0x61, 0x20, + 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x63, 0x73, 0x73, 0x22, 0x20, 0x72, 0x65, 0x6c, 0x3d, + 0x22, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, + 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, + 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6c, 0x61, 0x6e, 0x67, + 0x75, 0x61, 0x67, 0x65, 0x3d, 0x22, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x22, 0x3e, 0x61, 0x72, 0x69, 0x61, 0x2d, 0x68, 0x69, 0x64, + 0x64, 0x65, 0x6e, 0x3d, 0x22, 0x74, 0x72, 0x75, 0x65, 0x22, 0x3e, 0xc2, 0xb7, + 0x3c, 0x72, 0x69, 0x70, 0x74, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, + 0x74, 0x65, 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x6c, 0x3d, 0x30, + 0x3b, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x0a, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, + 0x75, 0x6e, 0x64, 0x2d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x75, 0x72, + 0x6c, 0x28, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x3c, 0x6c, 0x69, + 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x09, 0x09, + 0x3c, 0x6c, 0x69, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x20, + 0x61, 0x72, 0x69, 0x61, 0x2d, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x3d, 0x22, + 0x74, 0x72, 0x75, 0x3e, 0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, + 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x6c, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3d, 0x22, 0x6a, 0x61, 0x76, 0x61, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x20, 0x2f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x3e, 0x0a, 0x3c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, + 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x20, 0x61, 0x72, 0x69, 0x61, 0x2d, 0x68, + 0x69, 0x64, 0x64, 0x65, 0x6e, 0x3d, 0x22, 0x74, 0x72, 0x65, 0x3d, 0x28, 0x6e, + 0x65, 0x77, 0x20, 0x44, 0x61, 0x74, 0x65, 0x29, 0x2e, 0x67, 0x65, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x28, 0x29, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x67, 0x75, 0xc3, + 0xaa, 0x73, 0x20, 0x28, 0x64, 0x6f, 0x20, 0x42, 0x72, 0x61, 0x73, 0x69, 0x6c, + 0x29, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xb3, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb8, + 0xd0, 0xb7, 0xd0, 0xb0, 0xd1, 0x86, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xb2, 0xd0, + 0xbe, 0xd0, 0xb7, 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xb6, 0xd0, 0xbd, 0xd0, 0xbe, + 0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x8c, 0xd0, 0xbe, 0xd0, 0xb1, 0xd1, 0x80, 0xd0, + 0xb0, 0xd0, 0xb7, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb8, + 0xd1, 0x8f, 0xd1, 0x80, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xb8, 0xd1, 0x81, 0xd1, + 0x82, 0xd1, 0x80, 0xd0, 0xb0, 0xd1, 0x86, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xb2, + 0xd0, 0xbe, 0xd0, 0xb7, 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xb6, 0xd0, 0xbd, 0xd0, + 0xbe, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xbe, 0xd0, 0xb1, 0xd1, 0x8f, + 0xd0, 0xb7, 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbb, 0xd1, 0x8c, 0xd0, + 0xbd, 0xd0, 0xb0, 0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, + 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x22, + 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x3c, 0x6d, 0x65, + 0x74, 0x61, 0x20, 0x68, 0x74, 0x74, 0x70, 0x2d, 0x65, 0x71, 0x75, 0x69, 0x76, + 0x3d, 0x22, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x2f, 0x45, 0x4e, 0x22, 0x20, 0x22, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x78, 0x6d, 0x6c, + 0x6e, 0x73, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2d, 0x2f, 0x2f, 0x57, 0x33, 0x43, 0x2f, 0x2f, 0x44, 0x54, 0x44, 0x20, + 0x58, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x54, 0x44, 0x54, + 0x44, 0x2f, 0x78, 0x68, 0x74, 0x6d, 0x6c, 0x31, 0x2d, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x77, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x54, 0x52, 0x2f, 0x78, 0x68, + 0x74, 0x6d, 0x6c, 0x31, 0x2f, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x27, 0x74, 0x65, + 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x27, 0x3b, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x69, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x3c, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x68, 0x69, 0x64, 0x64, + 0x65, 0x6e, 0x22, 0x20, 0x6e, 0x61, 0x6a, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, + 0x63, 0x72, 0x69, 0x28, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x29, + 0x2e, 0x72, 0x65, 0x61, 0x64, 0x79, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, + 0x74, 0x65, 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x55, 0x41, 0x2d, 0x43, 0x6f, 0x6d, + 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x3d, 0x74, 0x6d, 0x6c, 0x3b, 0x20, 0x63, 0x68, 0x61, 0x72, + 0x73, 0x65, 0x74, 0x3d, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x2f, 0x3e, + 0x0a, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x63, 0x75, 0x74, 0x20, 0x69, 0x63, 0x6f, 0x6e, 0x3c, 0x6c, + 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, 0x3c, 0x2f, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x3d, 0x3d, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x3c, 0x61, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, 0x22, + 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, + 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x65, 0x74, + 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x61, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x20, + 0x3d, 0x20, 0x27, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, + 0x63, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, + 0x22, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x68, 0x74, 0x6d, 0x6c, 0x3b, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, + 0x3d, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x2f, 0x3e, 0x64, 0x74, 0x64, + 0x22, 0x3e, 0x0a, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x78, 0x6d, 0x6c, 0x6e, + 0x73, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x2d, 0x2f, 0x2f, 0x57, 0x33, 0x43, + 0x2f, 0x2f, 0x44, 0x54, 0x44, 0x20, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x34, 0x2e, + 0x30, 0x31, 0x20, 0x54, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x79, 0x54, 0x61, 0x67, + 0x4e, 0x61, 0x6d, 0x65, 0x28, 0x27, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x27, + 0x29, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, + 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x3c, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, + 0x65, 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x22, 0x20, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, + 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x22, 0x3e, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x67, 0x65, 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x42, 0x79, 0x49, 0x64, 0x28, 0x3d, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x28, 0x27, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x27, 0x74, 0x65, + 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x27, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, + 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x64, + 0x2e, 0x67, 0x65, 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, + 0x79, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x28, 0x73, 0x6e, 0x69, 0x63, + 0x61, 0x6c, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x43, 0x2f, 0x2f, 0x44, 0x54, + 0x44, 0x20, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x34, 0x2e, 0x30, 0x31, 0x20, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, + 0x73, 0x22, 0x3e, 0x0a, 0x0a, 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x20, 0x74, + 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, + 0x22, 0x3e, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x64, 0x74, 0x64, 0x22, 0x3e, + 0x0a, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3d, + 0x68, 0x74, 0x74, 0x70, 0x2d, 0x65, 0x71, 0x75, 0x69, 0x76, 0x3d, 0x22, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x64, 0x69, + 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x70, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x68, 0x74, 0x6d, 0x6c, + 0x3b, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, 0x75, 0x74, 0x66, + 0x2d, 0x38, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, + 0x3d, 0x22, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x6e, 0x6f, 0x6e, + 0x65, 0x3b, 0x22, 0x3e, 0x3c, 0x3c, 0x6c, 0x69, 0x3e, 0x3c, 0x61, 0x20, 0x68, + 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x27, 0x74, 0x65, 0x78, + 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x27, + 0x3e, 0xd0, 0xb4, 0xd0, 0xb5, 0xd1, 0x8f, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbb, + 0xd1, 0x8c, 0xd0, 0xbd, 0xd0, 0xbe, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, 0xd1, + 0x81, 0xd0, 0xbe, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xb2, 0xd0, 0xb5, 0xd1, 0x82, + 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb2, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xbf, 0xd1, + 0x80, 0xd0, 0xbe, 0xd0, 0xb8, 0xd0, 0xb7, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb4, + 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb2, 0xd0, 0xb0, 0xd0, 0xb1, 0xd0, 0xb5, 0xd0, + 0xb7, 0xd0, 0xbe, 0xd0, 0xbf, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xbd, 0xd0, 0xbe, + 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x81, 0xe0, + 0xa4, 0xb8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, + 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x82, + 0xe0, 0xa4, 0x97, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0, + 0xa4, 0xb8, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, + 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa7, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0xa8, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0xab, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb8, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb8, 0xe0, + 0xa5, 0x81, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, + 0xb7, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x89, + 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, + 0xa4, 0x87, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, + 0x9c, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0x9e, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, + 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, + 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, + 0x88, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, + 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, +}; + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/dec/dictionary.h b/dec/dictionary.h new file mode 100644 index 0000000..b327fd6 --- /dev/null +++ b/dec/dictionary.h @@ -0,0 +1,39 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Collection of static dictionary words. */ + +#ifndef BROTLI_DEC_DICTIONARY_H_ +#define BROTLI_DEC_DICTIONARY_H_ + +#include "./types.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +extern const uint8_t kBrotliDictionary[122784]; + +static const int kBrotliDictionaryOffsetsByLength[] = { + 0, 0, 0, 0, 0, 4096, 9216, 21504, 35840, 44032, + 53248, 63488, 74752, 87040, 93696, 100864, 104704, 106752, 108928, 113536, + 115968, 118528, 119872, 121280, 122016, +}; + +static const uint8_t kBrotliDictionarySizeBitsByLength[] = { + 0, 0, 0, 0, 10, 10, 11, 11, 10, 10, + 10, 10, 10, 9, 9, 8, 7, 7, 8, 7, + 7, 6, 6, 5, 5, +}; + +static const int kBrotliMinDictionaryWordLength = 4; +static const int kBrotliMaxDictionaryWordLength = 24; + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_DEC_DICTIONARY_H_ */ diff --git a/dec/huffman.c b/dec/huffman.c new file mode 100644 index 0000000..291f0a7 --- /dev/null +++ b/dec/huffman.c @@ -0,0 +1,358 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Utilities for building Huffman decoding tables. */ + +#include +#include +#include +#include "./huffman.h" +#include "./port.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#define BROTLI_REVERSE_BITS_MAX 8 + +#ifdef BROTLI_RBIT +#define BROTLI_REVERSE_BITS_BASE (32 - BROTLI_REVERSE_BITS_MAX) +#else +#define BROTLI_REVERSE_BITS_BASE 0 +static uint8_t kReverseBits[1 << BROTLI_REVERSE_BITS_MAX] = { + 0x00, 0x80, 0x40, 0xC0, 0x20, 0xA0, 0x60, 0xE0, + 0x10, 0x90, 0x50, 0xD0, 0x30, 0xB0, 0x70, 0xF0, + 0x08, 0x88, 0x48, 0xC8, 0x28, 0xA8, 0x68, 0xE8, + 0x18, 0x98, 0x58, 0xD8, 0x38, 0xB8, 0x78, 0xF8, + 0x04, 0x84, 0x44, 0xC4, 0x24, 0xA4, 0x64, 0xE4, + 0x14, 0x94, 0x54, 0xD4, 0x34, 0xB4, 0x74, 0xF4, + 0x0C, 0x8C, 0x4C, 0xCC, 0x2C, 0xAC, 0x6C, 0xEC, + 0x1C, 0x9C, 0x5C, 0xDC, 0x3C, 0xBC, 0x7C, 0xFC, + 0x02, 0x82, 0x42, 0xC2, 0x22, 0xA2, 0x62, 0xE2, + 0x12, 0x92, 0x52, 0xD2, 0x32, 0xB2, 0x72, 0xF2, + 0x0A, 0x8A, 0x4A, 0xCA, 0x2A, 0xAA, 0x6A, 0xEA, + 0x1A, 0x9A, 0x5A, 0xDA, 0x3A, 0xBA, 0x7A, 0xFA, + 0x06, 0x86, 0x46, 0xC6, 0x26, 0xA6, 0x66, 0xE6, + 0x16, 0x96, 0x56, 0xD6, 0x36, 0xB6, 0x76, 0xF6, + 0x0E, 0x8E, 0x4E, 0xCE, 0x2E, 0xAE, 0x6E, 0xEE, + 0x1E, 0x9E, 0x5E, 0xDE, 0x3E, 0xBE, 0x7E, 0xFE, + 0x01, 0x81, 0x41, 0xC1, 0x21, 0xA1, 0x61, 0xE1, + 0x11, 0x91, 0x51, 0xD1, 0x31, 0xB1, 0x71, 0xF1, + 0x09, 0x89, 0x49, 0xC9, 0x29, 0xA9, 0x69, 0xE9, + 0x19, 0x99, 0x59, 0xD9, 0x39, 0xB9, 0x79, 0xF9, + 0x05, 0x85, 0x45, 0xC5, 0x25, 0xA5, 0x65, 0xE5, + 0x15, 0x95, 0x55, 0xD5, 0x35, 0xB5, 0x75, 0xF5, + 0x0D, 0x8D, 0x4D, 0xCD, 0x2D, 0xAD, 0x6D, 0xED, + 0x1D, 0x9D, 0x5D, 0xDD, 0x3D, 0xBD, 0x7D, 0xFD, + 0x03, 0x83, 0x43, 0xC3, 0x23, 0xA3, 0x63, 0xE3, + 0x13, 0x93, 0x53, 0xD3, 0x33, 0xB3, 0x73, 0xF3, + 0x0B, 0x8B, 0x4B, 0xCB, 0x2B, 0xAB, 0x6B, 0xEB, + 0x1B, 0x9B, 0x5B, 0xDB, 0x3B, 0xBB, 0x7B, 0xFB, + 0x07, 0x87, 0x47, 0xC7, 0x27, 0xA7, 0x67, 0xE7, + 0x17, 0x97, 0x57, 0xD7, 0x37, 0xB7, 0x77, 0xF7, + 0x0F, 0x8F, 0x4F, 0xCF, 0x2F, 0xAF, 0x6F, 0xEF, + 0x1F, 0x9F, 0x5F, 0xDF, 0x3F, 0xBF, 0x7F, 0xFF +}; +#endif /* BROTLI_RBIT */ + +#define BROTLI_REVERSE_BITS_LOWEST \ + (1U << (BROTLI_REVERSE_BITS_MAX - 1 + BROTLI_REVERSE_BITS_BASE)) + +/* Returns reverse(num >> BROTLI_REVERSE_BITS_BASE, BROTLI_REVERSE_BITS_MAX), + where reverse(value, len) is the bit-wise reversal of the len least + significant bits of value. */ +static BROTLI_INLINE uint32_t BrotliReverseBits(uint32_t num) { +#ifdef BROTLI_RBIT + return BROTLI_RBIT(num); +#else + return kReverseBits[num]; +#endif +} + +/* Stores code in table[0], table[step], table[2*step], ..., table[end] */ +/* Assumes that end is an integer multiple of step */ +static BROTLI_INLINE void ReplicateValue(HuffmanCode* table, + int step, int end, + HuffmanCode code) { + do { + end -= step; + table[end] = code; + } while (end > 0); +} + +/* Returns the table width of the next 2nd level table. count is the histogram + of bit lengths for the remaining symbols, len is the code length of the next + processed symbol */ +static BROTLI_INLINE int NextTableBitSize(const uint16_t* const count, + int len, int root_bits) { + int left = 1 << (len - root_bits); + while (len < BROTLI_HUFFMAN_MAX_CODE_LENGTH) { + left -= count[len]; + if (left <= 0) break; + ++len; + left <<= 1; + } + return len - root_bits; +} + + +void BrotliBuildCodeLengthsHuffmanTable(HuffmanCode* table, + const uint8_t* const code_lengths, + uint16_t *count) { + HuffmanCode code; /* current table entry */ + int symbol; /* symbol index in original or sorted table */ + uint32_t key; /* prefix code */ + uint32_t key_step; /* prefix code addend */ + int step; /* step size to replicate values in current table */ + int table_size; /* size of current table */ + int sorted[18]; /* symbols sorted by code length */ + /* offsets in sorted table for each length */ + int offset[BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH + 1]; + int bits; + int bits_count; + BROTLI_DCHECK( + BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH <= BROTLI_REVERSE_BITS_MAX); + + /* generate offsets into sorted symbol table by code length */ + symbol = -1; + bits = 1; + BROTLI_REPEAT(BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH, { + symbol += count[bits]; + offset[bits] = symbol; + bits++; + }); + /* Symbols with code length 0 are placed after all other symbols. */ + offset[0] = 17; + + /* sort symbols by length, by symbol order within each length */ + symbol = 18; + do { + BROTLI_REPEAT(6, { + symbol--; + sorted[offset[code_lengths[symbol]]--] = symbol; + }); + } while (symbol != 0); + + table_size = 1 << BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH; + + /* Special case: all symbols but one have 0 code length. */ + if (offset[0] == 0) { + code.bits = 0; + code.value = (uint16_t)sorted[0]; + for (key = 0; key < (uint32_t)table_size; ++key) { + table[key] = code; + } + return; + } + + /* fill in table */ + key = 0; + key_step = BROTLI_REVERSE_BITS_LOWEST; + symbol = 0; + bits = 1; + step = 2; + do { + code.bits = (uint8_t)bits; + for (bits_count = count[bits]; bits_count != 0; --bits_count) { + code.value = (uint16_t)sorted[symbol++]; + ReplicateValue(&table[BrotliReverseBits(key)], step, table_size, code); + key += key_step; + } + step <<= 1; + key_step >>= 1; + } while (++bits <= BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH); +} + +uint32_t BrotliBuildHuffmanTable(HuffmanCode* root_table, + int root_bits, + const uint16_t* const symbol_lists, + uint16_t *count) { + HuffmanCode code; /* current table entry */ + HuffmanCode* table; /* next available space in table */ + int len; /* current code length */ + int symbol; /* symbol index in original or sorted table */ + uint32_t key; /* prefix code */ + uint32_t key_step; /* prefix code addend */ + uint32_t sub_key; /* 2nd level table prefix code */ + uint32_t sub_key_step;/* 2nd level table prefix code addend */ + int step; /* step size to replicate values in current table */ + int table_bits; /* key length of current table */ + int table_size; /* size of current table */ + int total_size; /* sum of root table size and 2nd level table sizes */ + int max_length = -1; + int bits; + int bits_count; + + BROTLI_DCHECK(root_bits <= BROTLI_REVERSE_BITS_MAX); + BROTLI_DCHECK( + BROTLI_HUFFMAN_MAX_CODE_LENGTH - root_bits <= BROTLI_REVERSE_BITS_MAX); + + while (symbol_lists[max_length] == 0xFFFF) max_length--; + max_length += BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1; + + table = root_table; + table_bits = root_bits; + table_size = 1 << table_bits; + total_size = table_size; + + /* fill in root table */ + /* let's reduce the table size to a smaller size if possible, and */ + /* create the repetitions by memcpy if possible in the coming loop */ + if (table_bits > max_length) { + table_bits = max_length; + table_size = 1 << table_bits; + } + key = 0; + key_step = BROTLI_REVERSE_BITS_LOWEST; + bits = 1; + step = 2; + do { + code.bits = (uint8_t)bits; + symbol = bits - (BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1); + for (bits_count = count[bits]; bits_count != 0; --bits_count) { + symbol = symbol_lists[symbol]; + code.value = (uint16_t)symbol; + ReplicateValue(&table[BrotliReverseBits(key)], step, table_size, code); + key += key_step; + } + step <<= 1; + key_step >>= 1; + } while (++bits <= table_bits); + + /* if root_bits != table_bits we only created one fraction of the */ + /* table, and we need to replicate it now. */ + while (total_size != table_size) { + memcpy(&table[table_size], &table[0], + (size_t)table_size * sizeof(table[0])); + table_size <<= 1; + } + + /* fill in 2nd level tables and add pointers to root table */ + key_step = BROTLI_REVERSE_BITS_LOWEST >> (root_bits - 1); + sub_key = (BROTLI_REVERSE_BITS_LOWEST << 1); + sub_key_step = BROTLI_REVERSE_BITS_LOWEST; + for (len = root_bits + 1, step = 2; len <= max_length; ++len) { + symbol = len - (BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1); + for (; count[len] != 0; --count[len]) { + if (sub_key == (uint32_t)(BROTLI_REVERSE_BITS_LOWEST << 1)) { + table += table_size; + table_bits = NextTableBitSize(count, len, root_bits); + table_size = 1 << table_bits; + total_size += table_size; + sub_key = BrotliReverseBits(key); + key += key_step; + root_table[sub_key].bits = (uint8_t)(table_bits + root_bits); + root_table[sub_key].value = (uint16_t)( + ((size_t)(table - root_table)) - sub_key); + sub_key = 0; + } + code.bits = (uint8_t)(len - root_bits); + symbol = symbol_lists[symbol]; + code.value = (uint16_t)symbol; + ReplicateValue( + &table[BrotliReverseBits(sub_key)], step, table_size, code); + sub_key += sub_key_step; + } + step <<= 1; + sub_key_step >>= 1; + } + return (uint32_t)total_size; +} + +uint32_t BrotliBuildSimpleHuffmanTable(HuffmanCode* table, + int root_bits, + uint16_t *val, + uint32_t num_symbols) { + uint32_t table_size = 1; + const uint32_t goal_size = 1U << root_bits; + switch (num_symbols) { + case 0: + table[0].bits = 0; + table[0].value = val[0]; + break; + case 1: + table[0].bits = 1; + table[1].bits = 1; + if (val[1] > val[0]) { + table[0].value = val[0]; + table[1].value = val[1]; + } else { + table[0].value = val[1]; + table[1].value = val[0]; + } + table_size = 2; + break; + case 2: + table[0].bits = 1; + table[0].value = val[0]; + table[2].bits = 1; + table[2].value = val[0]; + if (val[2] > val[1]) { + table[1].value = val[1]; + table[3].value = val[2]; + } else { + table[1].value = val[2]; + table[3].value = val[1]; + } + table[1].bits = 2; + table[3].bits = 2; + table_size = 4; + break; + case 3: + { + int i, k; + for (i = 0; i < 3; ++i) { + for (k = i + 1; k < 4; ++k) { + if (val[k] < val[i]) { + uint16_t t = val[k]; + val[k] = val[i]; + val[i] = t; + } + } + } + for (i = 0; i < 4; ++i) { + table[i].bits = 2; + } + table[0].value = val[0]; + table[2].value = val[1]; + table[1].value = val[2]; + table[3].value = val[3]; + table_size = 4; + } + break; + case 4: + { + int i; + if (val[3] < val[2]) { + uint16_t t = val[3]; + val[3] = val[2]; + val[2] = t; + } + for (i = 0; i < 7; ++i) { + table[i].value = val[0]; + table[i].bits = (uint8_t)(1 + (i & 1)); + } + table[1].value = val[1]; + table[3].value = val[2]; + table[5].value = val[1]; + table[7].value = val[3]; + table[3].bits = 3; + table[7].bits = 3; + table_size = 8; + } + break; + } + while (table_size != goal_size) { + memcpy(&table[table_size], &table[0], + (size_t)table_size * sizeof(table[0])); + table_size <<= 1; + } + return goal_size; +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/dec/huffman.h b/dec/huffman.h new file mode 100644 index 0000000..e8481f0 --- /dev/null +++ b/dec/huffman.h @@ -0,0 +1,68 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Utilities for building Huffman decoding tables. */ + +#ifndef BROTLI_DEC_HUFFMAN_H_ +#define BROTLI_DEC_HUFFMAN_H_ + +#include "./types.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#define BROTLI_HUFFMAN_MAX_CODE_LENGTH 15 + +/* For current format this constant equals to kNumInsertAndCopyCodes */ +#define BROTLI_HUFFMAN_MAX_CODE_LENGTHS_SIZE 704 + +/* Maximum possible Huffman table size for an alphabet size of 704, max code + * length 15 and root table bits 8. */ +#define BROTLI_HUFFMAN_MAX_TABLE_SIZE 1080 + +#define BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH 5 + +typedef struct { + uint8_t bits; /* number of bits used for this symbol */ + uint16_t value; /* symbol value or table offset */ +} HuffmanCode; + + +/* Builds Huffman lookup table assuming code lengths are in symbol order. */ +void BrotliBuildCodeLengthsHuffmanTable(HuffmanCode* root_table, + const uint8_t* const code_lengths, + uint16_t *count); + +/* Builds Huffman lookup table assuming code lengths are in symbol order. */ +/* Returns size of resulting table. */ +uint32_t BrotliBuildHuffmanTable(HuffmanCode* root_table, + int root_bits, + const uint16_t* const symbol_lists, + uint16_t *count_arg); + +/* Builds a simple Huffman table. The num_symbols parameter is to be */ +/* interpreted as follows: 0 means 1 symbol, 1 means 2 symbols, 2 means 3 */ +/* symbols, 3 means 4 symbols with lengths 2,2,2,2, 4 means 4 symbols with */ +/* lengths 1,2,3,3. */ +uint32_t BrotliBuildSimpleHuffmanTable(HuffmanCode* table, + int root_bits, + uint16_t *symbols, + uint32_t num_symbols); + +/* Contains a collection of Huffman trees with the same alphabet size. */ +typedef struct { + HuffmanCode** htrees; + HuffmanCode* codes; + uint16_t alphabet_size; + uint16_t num_htrees; +} HuffmanTreeGroup; + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_DEC_HUFFMAN_H_ */ diff --git a/dec/port.h b/dec/port.h new file mode 100644 index 0000000..f80e957 --- /dev/null +++ b/dec/port.h @@ -0,0 +1,240 @@ +/* Copyright 2015 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Macros for compiler / platform specific features and build options. + + Build options are: + * BROTLI_BUILD_32_BIT disables 64-bit optimizations + * BROTLI_BUILD_64_BIT forces to use 64-bit optimizations + * BROTLI_BUILD_BIG_ENDIAN forces to use big-endian optimizations + * BROTLI_BUILD_ENDIAN_NEUTRAL disables endian-aware optimizations + * BROTLI_BUILD_LITTLE_ENDIAN forces to use little-endian optimizations + * BROTLI_BUILD_MODERN_COMPILER forces to use modern compilers built-ins, + features and attributes + * BROTLI_BUILD_PORTABLE disables dangerous optimizations, like unaligned + read and overlapping memcpy; this reduces decompression speed by 5% + * BROTLI_DEBUG dumps file name and line number when decoder detects stream + or memory error + * BROTLI_DECODE_DEBUG enables asserts and dumps various state information + */ + +#ifndef BROTLI_DEC_PORT_H_ +#define BROTLI_DEC_PORT_H_ + +#include + +/* Compatibility with non-clang compilers. */ +#ifndef __has_builtin +#define __has_builtin(x) 0 +#endif + +#ifndef __has_attribute +#define __has_attribute(x) 0 +#endif + +#ifndef __has_feature +#define __has_feature(x) 0 +#endif + +#if defined(__sparc) +#define BROTLI_TARGET_SPARC +#endif + +#if defined(__arm__) || defined(__thumb__) || \ + defined(_M_ARM) || defined(_M_ARMT) +#define BROTLI_TARGET_ARM +#if (defined(__ARM_ARCH) && (__ARM_ARCH >= 7)) || \ + (defined(M_ARM) && (M_ARM >= 7)) +#define BROTLI_TARGET_ARMV7 +#endif /* ARMv7 */ +#if defined(__aarch64__) +#define BROTLI_TARGET_ARMV8 +#endif /* ARMv8 */ +#endif /* ARM */ + +#if defined(__x86_64__) || defined(_M_X64) +#define BROTLI_TARGET_X64 +#endif + +#if defined(__PPC64__) +#define BROTLI_TARGET_POWERPC64 +#endif + +#if defined(__GNUC__) && defined(__GNUC_MINOR__) +#define BROTLI_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__) +#else +#define BROTLI_GCC_VERSION 0 +#endif + +#if defined(__ICC) +#define BROTLI_ICC_VERSION __ICC +#else +#define BROTLI_ICC_VERSION 0 +#endif + +#if defined(BROTLI_BUILD_MODERN_COMPILER) +#define BROTLI_MODERN_COMPILER 1 +#elif (BROTLI_GCC_VERSION > 300) || (BROTLI_ICC_VERSION >= 1600) +#define BROTLI_MODERN_COMPILER 1 +#else +#define BROTLI_MODERN_COMPILER 0 +#endif + +/* SPARC and ARMv6 don't support unaligned read. + Choose portable build for them. */ +#if !defined(BROTLI_BUILD_PORTABLE) +#if defined(BROTLI_TARGET_SPARC) || \ + (defined(BROTLI_TARGET_ARM) && !defined(BROTLI_TARGET_ARMV7)) +#define BROTLI_BUILD_PORTABLE +#endif /* SPARK or ARMv6 */ +#endif /* portable build */ + +#ifdef BROTLI_BUILD_PORTABLE +#define BROTLI_ALIGNED_READ 1 +#define BROTLI_SAFE_MEMMOVE 1 +#else +#define BROTLI_ALIGNED_READ 0 +#define BROTLI_SAFE_MEMMOVE 0 +#endif + +#define BROTLI_ASAN_BUILD __has_feature(address_sanitizer) + +/* Define "PREDICT_TRUE" and "PREDICT_FALSE" macros for capable compilers. + +To apply compiler hint, enclose the branching condition into macros, like this: + + if (PREDICT_TRUE(zero == 0)) { + // main execution path + } else { + // compiler should place this code outside of main execution path + } + +OR: + + if (PREDICT_FALSE(something_rare_or_unexpected_happens)) { + // compiler should place this code outside of main execution path + } + +*/ +#if BROTLI_MODERN_COMPILER || __has_builtin(__builtin_expect) +#define PREDICT_TRUE(x) (__builtin_expect(!!(x), 1)) +#define PREDICT_FALSE(x) (__builtin_expect(x, 0)) +#else +#define PREDICT_FALSE(x) (x) +#define PREDICT_TRUE(x) (x) +#endif + +/* IS_CONSTANT macros returns true for compile-time constant expressions. */ +#if BROTLI_MODERN_COMPILER || __has_builtin(__builtin_constant_p) +#define IS_CONSTANT(x) __builtin_constant_p(x) +#else +#define IS_CONSTANT(x) 0 +#endif + +#if BROTLI_MODERN_COMPILER || __has_attribute(always_inline) +#define ATTRIBUTE_ALWAYS_INLINE __attribute__ ((always_inline)) +#else +#define ATTRIBUTE_ALWAYS_INLINE +#endif + +#ifndef _MSC_VER +#if defined(__cplusplus) || !defined(__STRICT_ANSI__) \ + || __STDC_VERSION__ >= 199901L +#define BROTLI_INLINE inline ATTRIBUTE_ALWAYS_INLINE +#else +#define BROTLI_INLINE +#endif +#else /* _MSC_VER */ +#define BROTLI_INLINE __forceinline +#endif /* _MSC_VER */ + +#ifdef BROTLI_DECODE_DEBUG +#define BROTLI_DCHECK(x) assert(x) +#else +#define BROTLI_DCHECK(x) +#endif + +#if defined(BROTLI_BUILD_64_BIT) +#define BROTLI_64_BITS 1 +#elif defined(BROTLI_BUILD_32_BIT) +#define BROTLI_64_BITS 0 +#elif defined(BROTLI_TARGET_X64) || defined(BROTLI_TARGET_ARMV8) || \ + defined(BROTLI_TARGET_POWERPC64) +#define BROTLI_64_BITS 1 +#else +#define BROTLI_64_BITS 0 +#endif + +#if defined(BROTLI_BUILD_BIG_ENDIAN) +#define BROTLI_LITTLE_ENDIAN 0 +#define BROTLI_BIG_ENDIAN 1 +#elif defined(BROTLI_BUILD_LITTLE_ENDIAN) +#define BROTLI_LITTLE_ENDIAN 1 +#define BROTLI_BIG_ENDIAN 0 +#elif defined(BROTLI_BUILD_ENDIAN_NEUTRAL) +#define BROTLI_LITTLE_ENDIAN 0 +#define BROTLI_BIG_ENDIAN 0 +#elif defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) +#define BROTLI_LITTLE_ENDIAN 1 +#define BROTLI_BIG_ENDIAN 0 +#elif defined(_WIN32) +/* Win32 can currently always be assumed to be little endian */ +#define BROTLI_LITTLE_ENDIAN 1 +#define BROTLI_BIG_ENDIAN 0 +#else +#if (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)) +#define BROTLI_BIG_ENDIAN 1 +#else +#define BROTLI_BIG_ENDIAN 0 +#endif +#define BROTLI_LITTLE_ENDIAN 0 +#endif + +#if BROTLI_MODERN_COMPILER || __has_attribute(noinline) +#define BROTLI_NOINLINE __attribute__ ((noinline)) +#else +#define BROTLI_NOINLINE +#endif + +#if BROTLI_ASAN_BUILD && !defined(BROTLI_BUILD_PORTABLE) +#define BROTLI_NO_ASAN __attribute__((no_sanitize("address"))) BROTLI_NOINLINE +#else +#define BROTLI_NO_ASAN +#endif + +#define BROTLI_REPEAT(N, X) { \ + if ((N & 1) != 0) {X;} \ + if ((N & 2) != 0) {X; X;} \ + if ((N & 4) != 0) {X; X; X; X;} \ +} + +#if BROTLI_MODERN_COMPILER || defined(__llvm__) +#if defined(BROTLI_TARGET_ARMV7) +static BROTLI_INLINE unsigned BrotliRBit(unsigned input) { + unsigned output; + __asm__("rbit %0, %1\n" : "=r"(output) : "r"(input)); + return output; +} +#define BROTLI_RBIT(x) BrotliRBit(x) +#endif /* armv7 */ +#endif /* gcc || clang */ + +#if defined(BROTLI_TARGET_ARM) +#define BROTLI_HAS_UBFX 1 +#else +#define BROTLI_HAS_UBFX 0 +#endif + +#define BROTLI_ALLOC(S, L) S->alloc_func(S->memory_manager_opaque, L) + +#define BROTLI_FREE(S, X) { \ + S->free_func(S->memory_manager_opaque, X); \ + X = NULL; \ +} + +#define BROTLI_UNUSED(X) (void)(X) + +#endif /* BROTLI_DEC_PORT_H_ */ diff --git a/dec/prefix.h b/dec/prefix.h new file mode 100644 index 0000000..41263fd --- /dev/null +++ b/dec/prefix.h @@ -0,0 +1,747 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Lookup tables to map prefix codes to value ranges. This is used during + decoding of the block lengths, literal insertion lengths and copy lengths. +*/ + +#ifndef BROTLI_DEC_PREFIX_H_ +#define BROTLI_DEC_PREFIX_H_ + +/* Represents the range of values belonging to a prefix code: */ +/* [offset, offset + 2^nbits) */ +struct PrefixCodeRange { + uint16_t offset; + uint8_t nbits; +}; + +static const struct PrefixCodeRange kBlockLengthPrefixCode[] = { + { 1, 2}, { 5, 2}, { 9, 2}, { 13, 2}, + { 17, 3}, { 25, 3}, { 33, 3}, { 41, 3}, + { 49, 4}, { 65, 4}, { 81, 4}, { 97, 4}, + { 113, 5}, { 145, 5}, { 177, 5}, { 209, 5}, + { 241, 6}, { 305, 6}, { 369, 7}, { 497, 8}, + { 753, 9}, { 1265, 10}, {2289, 11}, {4337, 12}, + {8433, 13}, {16625, 24} +}; + +typedef struct CmdLutElement { + uint8_t insert_len_extra_bits; + uint8_t copy_len_extra_bits; + int8_t distance_code; + uint8_t context; + uint16_t insert_len_offset; + uint16_t copy_len_offset; +} CmdLutElement; + +static const CmdLutElement kCmdLut[704] = { + { 0x00, 0x00, 0, 0x00, 0x0000, 0x0002 }, + { 0x00, 0x00, 0, 0x01, 0x0000, 0x0003 }, + { 0x00, 0x00, 0, 0x02, 0x0000, 0x0004 }, + { 0x00, 0x00, 0, 0x03, 0x0000, 0x0005 }, + { 0x00, 0x00, 0, 0x03, 0x0000, 0x0006 }, + { 0x00, 0x00, 0, 0x03, 0x0000, 0x0007 }, + { 0x00, 0x00, 0, 0x03, 0x0000, 0x0008 }, + { 0x00, 0x00, 0, 0x03, 0x0000, 0x0009 }, + { 0x00, 0x00, 0, 0x00, 0x0001, 0x0002 }, + { 0x00, 0x00, 0, 0x01, 0x0001, 0x0003 }, + { 0x00, 0x00, 0, 0x02, 0x0001, 0x0004 }, + { 0x00, 0x00, 0, 0x03, 0x0001, 0x0005 }, + { 0x00, 0x00, 0, 0x03, 0x0001, 0x0006 }, + { 0x00, 0x00, 0, 0x03, 0x0001, 0x0007 }, + { 0x00, 0x00, 0, 0x03, 0x0001, 0x0008 }, + { 0x00, 0x00, 0, 0x03, 0x0001, 0x0009 }, + { 0x00, 0x00, 0, 0x00, 0x0002, 0x0002 }, + { 0x00, 0x00, 0, 0x01, 0x0002, 0x0003 }, + { 0x00, 0x00, 0, 0x02, 0x0002, 0x0004 }, + { 0x00, 0x00, 0, 0x03, 0x0002, 0x0005 }, + { 0x00, 0x00, 0, 0x03, 0x0002, 0x0006 }, + { 0x00, 0x00, 0, 0x03, 0x0002, 0x0007 }, + { 0x00, 0x00, 0, 0x03, 0x0002, 0x0008 }, + { 0x00, 0x00, 0, 0x03, 0x0002, 0x0009 }, + { 0x00, 0x00, 0, 0x00, 0x0003, 0x0002 }, + { 0x00, 0x00, 0, 0x01, 0x0003, 0x0003 }, + { 0x00, 0x00, 0, 0x02, 0x0003, 0x0004 }, + { 0x00, 0x00, 0, 0x03, 0x0003, 0x0005 }, + { 0x00, 0x00, 0, 0x03, 0x0003, 0x0006 }, + { 0x00, 0x00, 0, 0x03, 0x0003, 0x0007 }, + { 0x00, 0x00, 0, 0x03, 0x0003, 0x0008 }, + { 0x00, 0x00, 0, 0x03, 0x0003, 0x0009 }, + { 0x00, 0x00, 0, 0x00, 0x0004, 0x0002 }, + { 0x00, 0x00, 0, 0x01, 0x0004, 0x0003 }, + { 0x00, 0x00, 0, 0x02, 0x0004, 0x0004 }, + { 0x00, 0x00, 0, 0x03, 0x0004, 0x0005 }, + { 0x00, 0x00, 0, 0x03, 0x0004, 0x0006 }, + { 0x00, 0x00, 0, 0x03, 0x0004, 0x0007 }, + { 0x00, 0x00, 0, 0x03, 0x0004, 0x0008 }, + { 0x00, 0x00, 0, 0x03, 0x0004, 0x0009 }, + { 0x00, 0x00, 0, 0x00, 0x0005, 0x0002 }, + { 0x00, 0x00, 0, 0x01, 0x0005, 0x0003 }, + { 0x00, 0x00, 0, 0x02, 0x0005, 0x0004 }, + { 0x00, 0x00, 0, 0x03, 0x0005, 0x0005 }, + { 0x00, 0x00, 0, 0x03, 0x0005, 0x0006 }, + { 0x00, 0x00, 0, 0x03, 0x0005, 0x0007 }, + { 0x00, 0x00, 0, 0x03, 0x0005, 0x0008 }, + { 0x00, 0x00, 0, 0x03, 0x0005, 0x0009 }, + { 0x01, 0x00, 0, 0x00, 0x0006, 0x0002 }, + { 0x01, 0x00, 0, 0x01, 0x0006, 0x0003 }, + { 0x01, 0x00, 0, 0x02, 0x0006, 0x0004 }, + { 0x01, 0x00, 0, 0x03, 0x0006, 0x0005 }, + { 0x01, 0x00, 0, 0x03, 0x0006, 0x0006 }, + { 0x01, 0x00, 0, 0x03, 0x0006, 0x0007 }, + { 0x01, 0x00, 0, 0x03, 0x0006, 0x0008 }, + { 0x01, 0x00, 0, 0x03, 0x0006, 0x0009 }, + { 0x01, 0x00, 0, 0x00, 0x0008, 0x0002 }, + { 0x01, 0x00, 0, 0x01, 0x0008, 0x0003 }, + { 0x01, 0x00, 0, 0x02, 0x0008, 0x0004 }, + { 0x01, 0x00, 0, 0x03, 0x0008, 0x0005 }, + { 0x01, 0x00, 0, 0x03, 0x0008, 0x0006 }, + { 0x01, 0x00, 0, 0x03, 0x0008, 0x0007 }, + { 0x01, 0x00, 0, 0x03, 0x0008, 0x0008 }, + { 0x01, 0x00, 0, 0x03, 0x0008, 0x0009 }, + { 0x00, 0x01, 0, 0x03, 0x0000, 0x000a }, + { 0x00, 0x01, 0, 0x03, 0x0000, 0x000c }, + { 0x00, 0x02, 0, 0x03, 0x0000, 0x000e }, + { 0x00, 0x02, 0, 0x03, 0x0000, 0x0012 }, + { 0x00, 0x03, 0, 0x03, 0x0000, 0x0016 }, + { 0x00, 0x03, 0, 0x03, 0x0000, 0x001e }, + { 0x00, 0x04, 0, 0x03, 0x0000, 0x0026 }, + { 0x00, 0x04, 0, 0x03, 0x0000, 0x0036 }, + { 0x00, 0x01, 0, 0x03, 0x0001, 0x000a }, + { 0x00, 0x01, 0, 0x03, 0x0001, 0x000c }, + { 0x00, 0x02, 0, 0x03, 0x0001, 0x000e }, + { 0x00, 0x02, 0, 0x03, 0x0001, 0x0012 }, + { 0x00, 0x03, 0, 0x03, 0x0001, 0x0016 }, + { 0x00, 0x03, 0, 0x03, 0x0001, 0x001e }, + { 0x00, 0x04, 0, 0x03, 0x0001, 0x0026 }, + { 0x00, 0x04, 0, 0x03, 0x0001, 0x0036 }, + { 0x00, 0x01, 0, 0x03, 0x0002, 0x000a }, + { 0x00, 0x01, 0, 0x03, 0x0002, 0x000c }, + { 0x00, 0x02, 0, 0x03, 0x0002, 0x000e }, + { 0x00, 0x02, 0, 0x03, 0x0002, 0x0012 }, + { 0x00, 0x03, 0, 0x03, 0x0002, 0x0016 }, + { 0x00, 0x03, 0, 0x03, 0x0002, 0x001e }, + { 0x00, 0x04, 0, 0x03, 0x0002, 0x0026 }, + { 0x00, 0x04, 0, 0x03, 0x0002, 0x0036 }, + { 0x00, 0x01, 0, 0x03, 0x0003, 0x000a }, + { 0x00, 0x01, 0, 0x03, 0x0003, 0x000c }, + { 0x00, 0x02, 0, 0x03, 0x0003, 0x000e }, + { 0x00, 0x02, 0, 0x03, 0x0003, 0x0012 }, + { 0x00, 0x03, 0, 0x03, 0x0003, 0x0016 }, + { 0x00, 0x03, 0, 0x03, 0x0003, 0x001e }, + { 0x00, 0x04, 0, 0x03, 0x0003, 0x0026 }, + { 0x00, 0x04, 0, 0x03, 0x0003, 0x0036 }, + { 0x00, 0x01, 0, 0x03, 0x0004, 0x000a }, + { 0x00, 0x01, 0, 0x03, 0x0004, 0x000c }, + { 0x00, 0x02, 0, 0x03, 0x0004, 0x000e }, + { 0x00, 0x02, 0, 0x03, 0x0004, 0x0012 }, + { 0x00, 0x03, 0, 0x03, 0x0004, 0x0016 }, + { 0x00, 0x03, 0, 0x03, 0x0004, 0x001e }, + { 0x00, 0x04, 0, 0x03, 0x0004, 0x0026 }, + { 0x00, 0x04, 0, 0x03, 0x0004, 0x0036 }, + { 0x00, 0x01, 0, 0x03, 0x0005, 0x000a }, + { 0x00, 0x01, 0, 0x03, 0x0005, 0x000c }, + { 0x00, 0x02, 0, 0x03, 0x0005, 0x000e }, + { 0x00, 0x02, 0, 0x03, 0x0005, 0x0012 }, + { 0x00, 0x03, 0, 0x03, 0x0005, 0x0016 }, + { 0x00, 0x03, 0, 0x03, 0x0005, 0x001e }, + { 0x00, 0x04, 0, 0x03, 0x0005, 0x0026 }, + { 0x00, 0x04, 0, 0x03, 0x0005, 0x0036 }, + { 0x01, 0x01, 0, 0x03, 0x0006, 0x000a }, + { 0x01, 0x01, 0, 0x03, 0x0006, 0x000c }, + { 0x01, 0x02, 0, 0x03, 0x0006, 0x000e }, + { 0x01, 0x02, 0, 0x03, 0x0006, 0x0012 }, + { 0x01, 0x03, 0, 0x03, 0x0006, 0x0016 }, + { 0x01, 0x03, 0, 0x03, 0x0006, 0x001e }, + { 0x01, 0x04, 0, 0x03, 0x0006, 0x0026 }, + { 0x01, 0x04, 0, 0x03, 0x0006, 0x0036 }, + { 0x01, 0x01, 0, 0x03, 0x0008, 0x000a }, + { 0x01, 0x01, 0, 0x03, 0x0008, 0x000c }, + { 0x01, 0x02, 0, 0x03, 0x0008, 0x000e }, + { 0x01, 0x02, 0, 0x03, 0x0008, 0x0012 }, + { 0x01, 0x03, 0, 0x03, 0x0008, 0x0016 }, + { 0x01, 0x03, 0, 0x03, 0x0008, 0x001e }, + { 0x01, 0x04, 0, 0x03, 0x0008, 0x0026 }, + { 0x01, 0x04, 0, 0x03, 0x0008, 0x0036 }, + { 0x00, 0x00, -1, 0x00, 0x0000, 0x0002 }, + { 0x00, 0x00, -1, 0x01, 0x0000, 0x0003 }, + { 0x00, 0x00, -1, 0x02, 0x0000, 0x0004 }, + { 0x00, 0x00, -1, 0x03, 0x0000, 0x0005 }, + { 0x00, 0x00, -1, 0x03, 0x0000, 0x0006 }, + { 0x00, 0x00, -1, 0x03, 0x0000, 0x0007 }, + { 0x00, 0x00, -1, 0x03, 0x0000, 0x0008 }, + { 0x00, 0x00, -1, 0x03, 0x0000, 0x0009 }, + { 0x00, 0x00, -1, 0x00, 0x0001, 0x0002 }, + { 0x00, 0x00, -1, 0x01, 0x0001, 0x0003 }, + { 0x00, 0x00, -1, 0x02, 0x0001, 0x0004 }, + { 0x00, 0x00, -1, 0x03, 0x0001, 0x0005 }, + { 0x00, 0x00, -1, 0x03, 0x0001, 0x0006 }, + { 0x00, 0x00, -1, 0x03, 0x0001, 0x0007 }, + { 0x00, 0x00, -1, 0x03, 0x0001, 0x0008 }, + { 0x00, 0x00, -1, 0x03, 0x0001, 0x0009 }, + { 0x00, 0x00, -1, 0x00, 0x0002, 0x0002 }, + { 0x00, 0x00, -1, 0x01, 0x0002, 0x0003 }, + { 0x00, 0x00, -1, 0x02, 0x0002, 0x0004 }, + { 0x00, 0x00, -1, 0x03, 0x0002, 0x0005 }, + { 0x00, 0x00, -1, 0x03, 0x0002, 0x0006 }, + { 0x00, 0x00, -1, 0x03, 0x0002, 0x0007 }, + { 0x00, 0x00, -1, 0x03, 0x0002, 0x0008 }, + { 0x00, 0x00, -1, 0x03, 0x0002, 0x0009 }, + { 0x00, 0x00, -1, 0x00, 0x0003, 0x0002 }, + { 0x00, 0x00, -1, 0x01, 0x0003, 0x0003 }, + { 0x00, 0x00, -1, 0x02, 0x0003, 0x0004 }, + { 0x00, 0x00, -1, 0x03, 0x0003, 0x0005 }, + { 0x00, 0x00, -1, 0x03, 0x0003, 0x0006 }, + { 0x00, 0x00, -1, 0x03, 0x0003, 0x0007 }, + { 0x00, 0x00, -1, 0x03, 0x0003, 0x0008 }, + { 0x00, 0x00, -1, 0x03, 0x0003, 0x0009 }, + { 0x00, 0x00, -1, 0x00, 0x0004, 0x0002 }, + { 0x00, 0x00, -1, 0x01, 0x0004, 0x0003 }, + { 0x00, 0x00, -1, 0x02, 0x0004, 0x0004 }, + { 0x00, 0x00, -1, 0x03, 0x0004, 0x0005 }, + { 0x00, 0x00, -1, 0x03, 0x0004, 0x0006 }, + { 0x00, 0x00, -1, 0x03, 0x0004, 0x0007 }, + { 0x00, 0x00, -1, 0x03, 0x0004, 0x0008 }, + { 0x00, 0x00, -1, 0x03, 0x0004, 0x0009 }, + { 0x00, 0x00, -1, 0x00, 0x0005, 0x0002 }, + { 0x00, 0x00, -1, 0x01, 0x0005, 0x0003 }, + { 0x00, 0x00, -1, 0x02, 0x0005, 0x0004 }, + { 0x00, 0x00, -1, 0x03, 0x0005, 0x0005 }, + { 0x00, 0x00, -1, 0x03, 0x0005, 0x0006 }, + { 0x00, 0x00, -1, 0x03, 0x0005, 0x0007 }, + { 0x00, 0x00, -1, 0x03, 0x0005, 0x0008 }, + { 0x00, 0x00, -1, 0x03, 0x0005, 0x0009 }, + { 0x01, 0x00, -1, 0x00, 0x0006, 0x0002 }, + { 0x01, 0x00, -1, 0x01, 0x0006, 0x0003 }, + { 0x01, 0x00, -1, 0x02, 0x0006, 0x0004 }, + { 0x01, 0x00, -1, 0x03, 0x0006, 0x0005 }, + { 0x01, 0x00, -1, 0x03, 0x0006, 0x0006 }, + { 0x01, 0x00, -1, 0x03, 0x0006, 0x0007 }, + { 0x01, 0x00, -1, 0x03, 0x0006, 0x0008 }, + { 0x01, 0x00, -1, 0x03, 0x0006, 0x0009 }, + { 0x01, 0x00, -1, 0x00, 0x0008, 0x0002 }, + { 0x01, 0x00, -1, 0x01, 0x0008, 0x0003 }, + { 0x01, 0x00, -1, 0x02, 0x0008, 0x0004 }, + { 0x01, 0x00, -1, 0x03, 0x0008, 0x0005 }, + { 0x01, 0x00, -1, 0x03, 0x0008, 0x0006 }, + { 0x01, 0x00, -1, 0x03, 0x0008, 0x0007 }, + { 0x01, 0x00, -1, 0x03, 0x0008, 0x0008 }, + { 0x01, 0x00, -1, 0x03, 0x0008, 0x0009 }, + { 0x00, 0x01, -1, 0x03, 0x0000, 0x000a }, + { 0x00, 0x01, -1, 0x03, 0x0000, 0x000c }, + { 0x00, 0x02, -1, 0x03, 0x0000, 0x000e }, + { 0x00, 0x02, -1, 0x03, 0x0000, 0x0012 }, + { 0x00, 0x03, -1, 0x03, 0x0000, 0x0016 }, + { 0x00, 0x03, -1, 0x03, 0x0000, 0x001e }, + { 0x00, 0x04, -1, 0x03, 0x0000, 0x0026 }, + { 0x00, 0x04, -1, 0x03, 0x0000, 0x0036 }, + { 0x00, 0x01, -1, 0x03, 0x0001, 0x000a }, + { 0x00, 0x01, -1, 0x03, 0x0001, 0x000c }, + { 0x00, 0x02, -1, 0x03, 0x0001, 0x000e }, + { 0x00, 0x02, -1, 0x03, 0x0001, 0x0012 }, + { 0x00, 0x03, -1, 0x03, 0x0001, 0x0016 }, + { 0x00, 0x03, -1, 0x03, 0x0001, 0x001e }, + { 0x00, 0x04, -1, 0x03, 0x0001, 0x0026 }, + { 0x00, 0x04, -1, 0x03, 0x0001, 0x0036 }, + { 0x00, 0x01, -1, 0x03, 0x0002, 0x000a }, + { 0x00, 0x01, -1, 0x03, 0x0002, 0x000c }, + { 0x00, 0x02, -1, 0x03, 0x0002, 0x000e }, + { 0x00, 0x02, -1, 0x03, 0x0002, 0x0012 }, + { 0x00, 0x03, -1, 0x03, 0x0002, 0x0016 }, + { 0x00, 0x03, -1, 0x03, 0x0002, 0x001e }, + { 0x00, 0x04, -1, 0x03, 0x0002, 0x0026 }, + { 0x00, 0x04, -1, 0x03, 0x0002, 0x0036 }, + { 0x00, 0x01, -1, 0x03, 0x0003, 0x000a }, + { 0x00, 0x01, -1, 0x03, 0x0003, 0x000c }, + { 0x00, 0x02, -1, 0x03, 0x0003, 0x000e }, + { 0x00, 0x02, -1, 0x03, 0x0003, 0x0012 }, + { 0x00, 0x03, -1, 0x03, 0x0003, 0x0016 }, + { 0x00, 0x03, -1, 0x03, 0x0003, 0x001e }, + { 0x00, 0x04, -1, 0x03, 0x0003, 0x0026 }, + { 0x00, 0x04, -1, 0x03, 0x0003, 0x0036 }, + { 0x00, 0x01, -1, 0x03, 0x0004, 0x000a }, + { 0x00, 0x01, -1, 0x03, 0x0004, 0x000c }, + { 0x00, 0x02, -1, 0x03, 0x0004, 0x000e }, + { 0x00, 0x02, -1, 0x03, 0x0004, 0x0012 }, + { 0x00, 0x03, -1, 0x03, 0x0004, 0x0016 }, + { 0x00, 0x03, -1, 0x03, 0x0004, 0x001e }, + { 0x00, 0x04, -1, 0x03, 0x0004, 0x0026 }, + { 0x00, 0x04, -1, 0x03, 0x0004, 0x0036 }, + { 0x00, 0x01, -1, 0x03, 0x0005, 0x000a }, + { 0x00, 0x01, -1, 0x03, 0x0005, 0x000c }, + { 0x00, 0x02, -1, 0x03, 0x0005, 0x000e }, + { 0x00, 0x02, -1, 0x03, 0x0005, 0x0012 }, + { 0x00, 0x03, -1, 0x03, 0x0005, 0x0016 }, + { 0x00, 0x03, -1, 0x03, 0x0005, 0x001e }, + { 0x00, 0x04, -1, 0x03, 0x0005, 0x0026 }, + { 0x00, 0x04, -1, 0x03, 0x0005, 0x0036 }, + { 0x01, 0x01, -1, 0x03, 0x0006, 0x000a }, + { 0x01, 0x01, -1, 0x03, 0x0006, 0x000c }, + { 0x01, 0x02, -1, 0x03, 0x0006, 0x000e }, + { 0x01, 0x02, -1, 0x03, 0x0006, 0x0012 }, + { 0x01, 0x03, -1, 0x03, 0x0006, 0x0016 }, + { 0x01, 0x03, -1, 0x03, 0x0006, 0x001e }, + { 0x01, 0x04, -1, 0x03, 0x0006, 0x0026 }, + { 0x01, 0x04, -1, 0x03, 0x0006, 0x0036 }, + { 0x01, 0x01, -1, 0x03, 0x0008, 0x000a }, + { 0x01, 0x01, -1, 0x03, 0x0008, 0x000c }, + { 0x01, 0x02, -1, 0x03, 0x0008, 0x000e }, + { 0x01, 0x02, -1, 0x03, 0x0008, 0x0012 }, + { 0x01, 0x03, -1, 0x03, 0x0008, 0x0016 }, + { 0x01, 0x03, -1, 0x03, 0x0008, 0x001e }, + { 0x01, 0x04, -1, 0x03, 0x0008, 0x0026 }, + { 0x01, 0x04, -1, 0x03, 0x0008, 0x0036 }, + { 0x02, 0x00, -1, 0x00, 0x000a, 0x0002 }, + { 0x02, 0x00, -1, 0x01, 0x000a, 0x0003 }, + { 0x02, 0x00, -1, 0x02, 0x000a, 0x0004 }, + { 0x02, 0x00, -1, 0x03, 0x000a, 0x0005 }, + { 0x02, 0x00, -1, 0x03, 0x000a, 0x0006 }, + { 0x02, 0x00, -1, 0x03, 0x000a, 0x0007 }, + { 0x02, 0x00, -1, 0x03, 0x000a, 0x0008 }, + { 0x02, 0x00, -1, 0x03, 0x000a, 0x0009 }, + { 0x02, 0x00, -1, 0x00, 0x000e, 0x0002 }, + { 0x02, 0x00, -1, 0x01, 0x000e, 0x0003 }, + { 0x02, 0x00, -1, 0x02, 0x000e, 0x0004 }, + { 0x02, 0x00, -1, 0x03, 0x000e, 0x0005 }, + { 0x02, 0x00, -1, 0x03, 0x000e, 0x0006 }, + { 0x02, 0x00, -1, 0x03, 0x000e, 0x0007 }, + { 0x02, 0x00, -1, 0x03, 0x000e, 0x0008 }, + { 0x02, 0x00, -1, 0x03, 0x000e, 0x0009 }, + { 0x03, 0x00, -1, 0x00, 0x0012, 0x0002 }, + { 0x03, 0x00, -1, 0x01, 0x0012, 0x0003 }, + { 0x03, 0x00, -1, 0x02, 0x0012, 0x0004 }, + { 0x03, 0x00, -1, 0x03, 0x0012, 0x0005 }, + { 0x03, 0x00, -1, 0x03, 0x0012, 0x0006 }, + { 0x03, 0x00, -1, 0x03, 0x0012, 0x0007 }, + { 0x03, 0x00, -1, 0x03, 0x0012, 0x0008 }, + { 0x03, 0x00, -1, 0x03, 0x0012, 0x0009 }, + { 0x03, 0x00, -1, 0x00, 0x001a, 0x0002 }, + { 0x03, 0x00, -1, 0x01, 0x001a, 0x0003 }, + { 0x03, 0x00, -1, 0x02, 0x001a, 0x0004 }, + { 0x03, 0x00, -1, 0x03, 0x001a, 0x0005 }, + { 0x03, 0x00, -1, 0x03, 0x001a, 0x0006 }, + { 0x03, 0x00, -1, 0x03, 0x001a, 0x0007 }, + { 0x03, 0x00, -1, 0x03, 0x001a, 0x0008 }, + { 0x03, 0x00, -1, 0x03, 0x001a, 0x0009 }, + { 0x04, 0x00, -1, 0x00, 0x0022, 0x0002 }, + { 0x04, 0x00, -1, 0x01, 0x0022, 0x0003 }, + { 0x04, 0x00, -1, 0x02, 0x0022, 0x0004 }, + { 0x04, 0x00, -1, 0x03, 0x0022, 0x0005 }, + { 0x04, 0x00, -1, 0x03, 0x0022, 0x0006 }, + { 0x04, 0x00, -1, 0x03, 0x0022, 0x0007 }, + { 0x04, 0x00, -1, 0x03, 0x0022, 0x0008 }, + { 0x04, 0x00, -1, 0x03, 0x0022, 0x0009 }, + { 0x04, 0x00, -1, 0x00, 0x0032, 0x0002 }, + { 0x04, 0x00, -1, 0x01, 0x0032, 0x0003 }, + { 0x04, 0x00, -1, 0x02, 0x0032, 0x0004 }, + { 0x04, 0x00, -1, 0x03, 0x0032, 0x0005 }, + { 0x04, 0x00, -1, 0x03, 0x0032, 0x0006 }, + { 0x04, 0x00, -1, 0x03, 0x0032, 0x0007 }, + { 0x04, 0x00, -1, 0x03, 0x0032, 0x0008 }, + { 0x04, 0x00, -1, 0x03, 0x0032, 0x0009 }, + { 0x05, 0x00, -1, 0x00, 0x0042, 0x0002 }, + { 0x05, 0x00, -1, 0x01, 0x0042, 0x0003 }, + { 0x05, 0x00, -1, 0x02, 0x0042, 0x0004 }, + { 0x05, 0x00, -1, 0x03, 0x0042, 0x0005 }, + { 0x05, 0x00, -1, 0x03, 0x0042, 0x0006 }, + { 0x05, 0x00, -1, 0x03, 0x0042, 0x0007 }, + { 0x05, 0x00, -1, 0x03, 0x0042, 0x0008 }, + { 0x05, 0x00, -1, 0x03, 0x0042, 0x0009 }, + { 0x05, 0x00, -1, 0x00, 0x0062, 0x0002 }, + { 0x05, 0x00, -1, 0x01, 0x0062, 0x0003 }, + { 0x05, 0x00, -1, 0x02, 0x0062, 0x0004 }, + { 0x05, 0x00, -1, 0x03, 0x0062, 0x0005 }, + { 0x05, 0x00, -1, 0x03, 0x0062, 0x0006 }, + { 0x05, 0x00, -1, 0x03, 0x0062, 0x0007 }, + { 0x05, 0x00, -1, 0x03, 0x0062, 0x0008 }, + { 0x05, 0x00, -1, 0x03, 0x0062, 0x0009 }, + { 0x02, 0x01, -1, 0x03, 0x000a, 0x000a }, + { 0x02, 0x01, -1, 0x03, 0x000a, 0x000c }, + { 0x02, 0x02, -1, 0x03, 0x000a, 0x000e }, + { 0x02, 0x02, -1, 0x03, 0x000a, 0x0012 }, + { 0x02, 0x03, -1, 0x03, 0x000a, 0x0016 }, + { 0x02, 0x03, -1, 0x03, 0x000a, 0x001e }, + { 0x02, 0x04, -1, 0x03, 0x000a, 0x0026 }, + { 0x02, 0x04, -1, 0x03, 0x000a, 0x0036 }, + { 0x02, 0x01, -1, 0x03, 0x000e, 0x000a }, + { 0x02, 0x01, -1, 0x03, 0x000e, 0x000c }, + { 0x02, 0x02, -1, 0x03, 0x000e, 0x000e }, + { 0x02, 0x02, -1, 0x03, 0x000e, 0x0012 }, + { 0x02, 0x03, -1, 0x03, 0x000e, 0x0016 }, + { 0x02, 0x03, -1, 0x03, 0x000e, 0x001e }, + { 0x02, 0x04, -1, 0x03, 0x000e, 0x0026 }, + { 0x02, 0x04, -1, 0x03, 0x000e, 0x0036 }, + { 0x03, 0x01, -1, 0x03, 0x0012, 0x000a }, + { 0x03, 0x01, -1, 0x03, 0x0012, 0x000c }, + { 0x03, 0x02, -1, 0x03, 0x0012, 0x000e }, + { 0x03, 0x02, -1, 0x03, 0x0012, 0x0012 }, + { 0x03, 0x03, -1, 0x03, 0x0012, 0x0016 }, + { 0x03, 0x03, -1, 0x03, 0x0012, 0x001e }, + { 0x03, 0x04, -1, 0x03, 0x0012, 0x0026 }, + { 0x03, 0x04, -1, 0x03, 0x0012, 0x0036 }, + { 0x03, 0x01, -1, 0x03, 0x001a, 0x000a }, + { 0x03, 0x01, -1, 0x03, 0x001a, 0x000c }, + { 0x03, 0x02, -1, 0x03, 0x001a, 0x000e }, + { 0x03, 0x02, -1, 0x03, 0x001a, 0x0012 }, + { 0x03, 0x03, -1, 0x03, 0x001a, 0x0016 }, + { 0x03, 0x03, -1, 0x03, 0x001a, 0x001e }, + { 0x03, 0x04, -1, 0x03, 0x001a, 0x0026 }, + { 0x03, 0x04, -1, 0x03, 0x001a, 0x0036 }, + { 0x04, 0x01, -1, 0x03, 0x0022, 0x000a }, + { 0x04, 0x01, -1, 0x03, 0x0022, 0x000c }, + { 0x04, 0x02, -1, 0x03, 0x0022, 0x000e }, + { 0x04, 0x02, -1, 0x03, 0x0022, 0x0012 }, + { 0x04, 0x03, -1, 0x03, 0x0022, 0x0016 }, + { 0x04, 0x03, -1, 0x03, 0x0022, 0x001e }, + { 0x04, 0x04, -1, 0x03, 0x0022, 0x0026 }, + { 0x04, 0x04, -1, 0x03, 0x0022, 0x0036 }, + { 0x04, 0x01, -1, 0x03, 0x0032, 0x000a }, + { 0x04, 0x01, -1, 0x03, 0x0032, 0x000c }, + { 0x04, 0x02, -1, 0x03, 0x0032, 0x000e }, + { 0x04, 0x02, -1, 0x03, 0x0032, 0x0012 }, + { 0x04, 0x03, -1, 0x03, 0x0032, 0x0016 }, + { 0x04, 0x03, -1, 0x03, 0x0032, 0x001e }, + { 0x04, 0x04, -1, 0x03, 0x0032, 0x0026 }, + { 0x04, 0x04, -1, 0x03, 0x0032, 0x0036 }, + { 0x05, 0x01, -1, 0x03, 0x0042, 0x000a }, + { 0x05, 0x01, -1, 0x03, 0x0042, 0x000c }, + { 0x05, 0x02, -1, 0x03, 0x0042, 0x000e }, + { 0x05, 0x02, -1, 0x03, 0x0042, 0x0012 }, + { 0x05, 0x03, -1, 0x03, 0x0042, 0x0016 }, + { 0x05, 0x03, -1, 0x03, 0x0042, 0x001e }, + { 0x05, 0x04, -1, 0x03, 0x0042, 0x0026 }, + { 0x05, 0x04, -1, 0x03, 0x0042, 0x0036 }, + { 0x05, 0x01, -1, 0x03, 0x0062, 0x000a }, + { 0x05, 0x01, -1, 0x03, 0x0062, 0x000c }, + { 0x05, 0x02, -1, 0x03, 0x0062, 0x000e }, + { 0x05, 0x02, -1, 0x03, 0x0062, 0x0012 }, + { 0x05, 0x03, -1, 0x03, 0x0062, 0x0016 }, + { 0x05, 0x03, -1, 0x03, 0x0062, 0x001e }, + { 0x05, 0x04, -1, 0x03, 0x0062, 0x0026 }, + { 0x05, 0x04, -1, 0x03, 0x0062, 0x0036 }, + { 0x00, 0x05, -1, 0x03, 0x0000, 0x0046 }, + { 0x00, 0x05, -1, 0x03, 0x0000, 0x0066 }, + { 0x00, 0x06, -1, 0x03, 0x0000, 0x0086 }, + { 0x00, 0x07, -1, 0x03, 0x0000, 0x00c6 }, + { 0x00, 0x08, -1, 0x03, 0x0000, 0x0146 }, + { 0x00, 0x09, -1, 0x03, 0x0000, 0x0246 }, + { 0x00, 0x0a, -1, 0x03, 0x0000, 0x0446 }, + { 0x00, 0x18, -1, 0x03, 0x0000, 0x0846 }, + { 0x00, 0x05, -1, 0x03, 0x0001, 0x0046 }, + { 0x00, 0x05, -1, 0x03, 0x0001, 0x0066 }, + { 0x00, 0x06, -1, 0x03, 0x0001, 0x0086 }, + { 0x00, 0x07, -1, 0x03, 0x0001, 0x00c6 }, + { 0x00, 0x08, -1, 0x03, 0x0001, 0x0146 }, + { 0x00, 0x09, -1, 0x03, 0x0001, 0x0246 }, + { 0x00, 0x0a, -1, 0x03, 0x0001, 0x0446 }, + { 0x00, 0x18, -1, 0x03, 0x0001, 0x0846 }, + { 0x00, 0x05, -1, 0x03, 0x0002, 0x0046 }, + { 0x00, 0x05, -1, 0x03, 0x0002, 0x0066 }, + { 0x00, 0x06, -1, 0x03, 0x0002, 0x0086 }, + { 0x00, 0x07, -1, 0x03, 0x0002, 0x00c6 }, + { 0x00, 0x08, -1, 0x03, 0x0002, 0x0146 }, + { 0x00, 0x09, -1, 0x03, 0x0002, 0x0246 }, + { 0x00, 0x0a, -1, 0x03, 0x0002, 0x0446 }, + { 0x00, 0x18, -1, 0x03, 0x0002, 0x0846 }, + { 0x00, 0x05, -1, 0x03, 0x0003, 0x0046 }, + { 0x00, 0x05, -1, 0x03, 0x0003, 0x0066 }, + { 0x00, 0x06, -1, 0x03, 0x0003, 0x0086 }, + { 0x00, 0x07, -1, 0x03, 0x0003, 0x00c6 }, + { 0x00, 0x08, -1, 0x03, 0x0003, 0x0146 }, + { 0x00, 0x09, -1, 0x03, 0x0003, 0x0246 }, + { 0x00, 0x0a, -1, 0x03, 0x0003, 0x0446 }, + { 0x00, 0x18, -1, 0x03, 0x0003, 0x0846 }, + { 0x00, 0x05, -1, 0x03, 0x0004, 0x0046 }, + { 0x00, 0x05, -1, 0x03, 0x0004, 0x0066 }, + { 0x00, 0x06, -1, 0x03, 0x0004, 0x0086 }, + { 0x00, 0x07, -1, 0x03, 0x0004, 0x00c6 }, + { 0x00, 0x08, -1, 0x03, 0x0004, 0x0146 }, + { 0x00, 0x09, -1, 0x03, 0x0004, 0x0246 }, + { 0x00, 0x0a, -1, 0x03, 0x0004, 0x0446 }, + { 0x00, 0x18, -1, 0x03, 0x0004, 0x0846 }, + { 0x00, 0x05, -1, 0x03, 0x0005, 0x0046 }, + { 0x00, 0x05, -1, 0x03, 0x0005, 0x0066 }, + { 0x00, 0x06, -1, 0x03, 0x0005, 0x0086 }, + { 0x00, 0x07, -1, 0x03, 0x0005, 0x00c6 }, + { 0x00, 0x08, -1, 0x03, 0x0005, 0x0146 }, + { 0x00, 0x09, -1, 0x03, 0x0005, 0x0246 }, + { 0x00, 0x0a, -1, 0x03, 0x0005, 0x0446 }, + { 0x00, 0x18, -1, 0x03, 0x0005, 0x0846 }, + { 0x01, 0x05, -1, 0x03, 0x0006, 0x0046 }, + { 0x01, 0x05, -1, 0x03, 0x0006, 0x0066 }, + { 0x01, 0x06, -1, 0x03, 0x0006, 0x0086 }, + { 0x01, 0x07, -1, 0x03, 0x0006, 0x00c6 }, + { 0x01, 0x08, -1, 0x03, 0x0006, 0x0146 }, + { 0x01, 0x09, -1, 0x03, 0x0006, 0x0246 }, + { 0x01, 0x0a, -1, 0x03, 0x0006, 0x0446 }, + { 0x01, 0x18, -1, 0x03, 0x0006, 0x0846 }, + { 0x01, 0x05, -1, 0x03, 0x0008, 0x0046 }, + { 0x01, 0x05, -1, 0x03, 0x0008, 0x0066 }, + { 0x01, 0x06, -1, 0x03, 0x0008, 0x0086 }, + { 0x01, 0x07, -1, 0x03, 0x0008, 0x00c6 }, + { 0x01, 0x08, -1, 0x03, 0x0008, 0x0146 }, + { 0x01, 0x09, -1, 0x03, 0x0008, 0x0246 }, + { 0x01, 0x0a, -1, 0x03, 0x0008, 0x0446 }, + { 0x01, 0x18, -1, 0x03, 0x0008, 0x0846 }, + { 0x06, 0x00, -1, 0x00, 0x0082, 0x0002 }, + { 0x06, 0x00, -1, 0x01, 0x0082, 0x0003 }, + { 0x06, 0x00, -1, 0x02, 0x0082, 0x0004 }, + { 0x06, 0x00, -1, 0x03, 0x0082, 0x0005 }, + { 0x06, 0x00, -1, 0x03, 0x0082, 0x0006 }, + { 0x06, 0x00, -1, 0x03, 0x0082, 0x0007 }, + { 0x06, 0x00, -1, 0x03, 0x0082, 0x0008 }, + { 0x06, 0x00, -1, 0x03, 0x0082, 0x0009 }, + { 0x07, 0x00, -1, 0x00, 0x00c2, 0x0002 }, + { 0x07, 0x00, -1, 0x01, 0x00c2, 0x0003 }, + { 0x07, 0x00, -1, 0x02, 0x00c2, 0x0004 }, + { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0005 }, + { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0006 }, + { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0007 }, + { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0008 }, + { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0009 }, + { 0x08, 0x00, -1, 0x00, 0x0142, 0x0002 }, + { 0x08, 0x00, -1, 0x01, 0x0142, 0x0003 }, + { 0x08, 0x00, -1, 0x02, 0x0142, 0x0004 }, + { 0x08, 0x00, -1, 0x03, 0x0142, 0x0005 }, + { 0x08, 0x00, -1, 0x03, 0x0142, 0x0006 }, + { 0x08, 0x00, -1, 0x03, 0x0142, 0x0007 }, + { 0x08, 0x00, -1, 0x03, 0x0142, 0x0008 }, + { 0x08, 0x00, -1, 0x03, 0x0142, 0x0009 }, + { 0x09, 0x00, -1, 0x00, 0x0242, 0x0002 }, + { 0x09, 0x00, -1, 0x01, 0x0242, 0x0003 }, + { 0x09, 0x00, -1, 0x02, 0x0242, 0x0004 }, + { 0x09, 0x00, -1, 0x03, 0x0242, 0x0005 }, + { 0x09, 0x00, -1, 0x03, 0x0242, 0x0006 }, + { 0x09, 0x00, -1, 0x03, 0x0242, 0x0007 }, + { 0x09, 0x00, -1, 0x03, 0x0242, 0x0008 }, + { 0x09, 0x00, -1, 0x03, 0x0242, 0x0009 }, + { 0x0a, 0x00, -1, 0x00, 0x0442, 0x0002 }, + { 0x0a, 0x00, -1, 0x01, 0x0442, 0x0003 }, + { 0x0a, 0x00, -1, 0x02, 0x0442, 0x0004 }, + { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0005 }, + { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0006 }, + { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0007 }, + { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0008 }, + { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0009 }, + { 0x0c, 0x00, -1, 0x00, 0x0842, 0x0002 }, + { 0x0c, 0x00, -1, 0x01, 0x0842, 0x0003 }, + { 0x0c, 0x00, -1, 0x02, 0x0842, 0x0004 }, + { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0005 }, + { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0006 }, + { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0007 }, + { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0008 }, + { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0009 }, + { 0x0e, 0x00, -1, 0x00, 0x1842, 0x0002 }, + { 0x0e, 0x00, -1, 0x01, 0x1842, 0x0003 }, + { 0x0e, 0x00, -1, 0x02, 0x1842, 0x0004 }, + { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0005 }, + { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0006 }, + { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0007 }, + { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0008 }, + { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0009 }, + { 0x18, 0x00, -1, 0x00, 0x5842, 0x0002 }, + { 0x18, 0x00, -1, 0x01, 0x5842, 0x0003 }, + { 0x18, 0x00, -1, 0x02, 0x5842, 0x0004 }, + { 0x18, 0x00, -1, 0x03, 0x5842, 0x0005 }, + { 0x18, 0x00, -1, 0x03, 0x5842, 0x0006 }, + { 0x18, 0x00, -1, 0x03, 0x5842, 0x0007 }, + { 0x18, 0x00, -1, 0x03, 0x5842, 0x0008 }, + { 0x18, 0x00, -1, 0x03, 0x5842, 0x0009 }, + { 0x02, 0x05, -1, 0x03, 0x000a, 0x0046 }, + { 0x02, 0x05, -1, 0x03, 0x000a, 0x0066 }, + { 0x02, 0x06, -1, 0x03, 0x000a, 0x0086 }, + { 0x02, 0x07, -1, 0x03, 0x000a, 0x00c6 }, + { 0x02, 0x08, -1, 0x03, 0x000a, 0x0146 }, + { 0x02, 0x09, -1, 0x03, 0x000a, 0x0246 }, + { 0x02, 0x0a, -1, 0x03, 0x000a, 0x0446 }, + { 0x02, 0x18, -1, 0x03, 0x000a, 0x0846 }, + { 0x02, 0x05, -1, 0x03, 0x000e, 0x0046 }, + { 0x02, 0x05, -1, 0x03, 0x000e, 0x0066 }, + { 0x02, 0x06, -1, 0x03, 0x000e, 0x0086 }, + { 0x02, 0x07, -1, 0x03, 0x000e, 0x00c6 }, + { 0x02, 0x08, -1, 0x03, 0x000e, 0x0146 }, + { 0x02, 0x09, -1, 0x03, 0x000e, 0x0246 }, + { 0x02, 0x0a, -1, 0x03, 0x000e, 0x0446 }, + { 0x02, 0x18, -1, 0x03, 0x000e, 0x0846 }, + { 0x03, 0x05, -1, 0x03, 0x0012, 0x0046 }, + { 0x03, 0x05, -1, 0x03, 0x0012, 0x0066 }, + { 0x03, 0x06, -1, 0x03, 0x0012, 0x0086 }, + { 0x03, 0x07, -1, 0x03, 0x0012, 0x00c6 }, + { 0x03, 0x08, -1, 0x03, 0x0012, 0x0146 }, + { 0x03, 0x09, -1, 0x03, 0x0012, 0x0246 }, + { 0x03, 0x0a, -1, 0x03, 0x0012, 0x0446 }, + { 0x03, 0x18, -1, 0x03, 0x0012, 0x0846 }, + { 0x03, 0x05, -1, 0x03, 0x001a, 0x0046 }, + { 0x03, 0x05, -1, 0x03, 0x001a, 0x0066 }, + { 0x03, 0x06, -1, 0x03, 0x001a, 0x0086 }, + { 0x03, 0x07, -1, 0x03, 0x001a, 0x00c6 }, + { 0x03, 0x08, -1, 0x03, 0x001a, 0x0146 }, + { 0x03, 0x09, -1, 0x03, 0x001a, 0x0246 }, + { 0x03, 0x0a, -1, 0x03, 0x001a, 0x0446 }, + { 0x03, 0x18, -1, 0x03, 0x001a, 0x0846 }, + { 0x04, 0x05, -1, 0x03, 0x0022, 0x0046 }, + { 0x04, 0x05, -1, 0x03, 0x0022, 0x0066 }, + { 0x04, 0x06, -1, 0x03, 0x0022, 0x0086 }, + { 0x04, 0x07, -1, 0x03, 0x0022, 0x00c6 }, + { 0x04, 0x08, -1, 0x03, 0x0022, 0x0146 }, + { 0x04, 0x09, -1, 0x03, 0x0022, 0x0246 }, + { 0x04, 0x0a, -1, 0x03, 0x0022, 0x0446 }, + { 0x04, 0x18, -1, 0x03, 0x0022, 0x0846 }, + { 0x04, 0x05, -1, 0x03, 0x0032, 0x0046 }, + { 0x04, 0x05, -1, 0x03, 0x0032, 0x0066 }, + { 0x04, 0x06, -1, 0x03, 0x0032, 0x0086 }, + { 0x04, 0x07, -1, 0x03, 0x0032, 0x00c6 }, + { 0x04, 0x08, -1, 0x03, 0x0032, 0x0146 }, + { 0x04, 0x09, -1, 0x03, 0x0032, 0x0246 }, + { 0x04, 0x0a, -1, 0x03, 0x0032, 0x0446 }, + { 0x04, 0x18, -1, 0x03, 0x0032, 0x0846 }, + { 0x05, 0x05, -1, 0x03, 0x0042, 0x0046 }, + { 0x05, 0x05, -1, 0x03, 0x0042, 0x0066 }, + { 0x05, 0x06, -1, 0x03, 0x0042, 0x0086 }, + { 0x05, 0x07, -1, 0x03, 0x0042, 0x00c6 }, + { 0x05, 0x08, -1, 0x03, 0x0042, 0x0146 }, + { 0x05, 0x09, -1, 0x03, 0x0042, 0x0246 }, + { 0x05, 0x0a, -1, 0x03, 0x0042, 0x0446 }, + { 0x05, 0x18, -1, 0x03, 0x0042, 0x0846 }, + { 0x05, 0x05, -1, 0x03, 0x0062, 0x0046 }, + { 0x05, 0x05, -1, 0x03, 0x0062, 0x0066 }, + { 0x05, 0x06, -1, 0x03, 0x0062, 0x0086 }, + { 0x05, 0x07, -1, 0x03, 0x0062, 0x00c6 }, + { 0x05, 0x08, -1, 0x03, 0x0062, 0x0146 }, + { 0x05, 0x09, -1, 0x03, 0x0062, 0x0246 }, + { 0x05, 0x0a, -1, 0x03, 0x0062, 0x0446 }, + { 0x05, 0x18, -1, 0x03, 0x0062, 0x0846 }, + { 0x06, 0x01, -1, 0x03, 0x0082, 0x000a }, + { 0x06, 0x01, -1, 0x03, 0x0082, 0x000c }, + { 0x06, 0x02, -1, 0x03, 0x0082, 0x000e }, + { 0x06, 0x02, -1, 0x03, 0x0082, 0x0012 }, + { 0x06, 0x03, -1, 0x03, 0x0082, 0x0016 }, + { 0x06, 0x03, -1, 0x03, 0x0082, 0x001e }, + { 0x06, 0x04, -1, 0x03, 0x0082, 0x0026 }, + { 0x06, 0x04, -1, 0x03, 0x0082, 0x0036 }, + { 0x07, 0x01, -1, 0x03, 0x00c2, 0x000a }, + { 0x07, 0x01, -1, 0x03, 0x00c2, 0x000c }, + { 0x07, 0x02, -1, 0x03, 0x00c2, 0x000e }, + { 0x07, 0x02, -1, 0x03, 0x00c2, 0x0012 }, + { 0x07, 0x03, -1, 0x03, 0x00c2, 0x0016 }, + { 0x07, 0x03, -1, 0x03, 0x00c2, 0x001e }, + { 0x07, 0x04, -1, 0x03, 0x00c2, 0x0026 }, + { 0x07, 0x04, -1, 0x03, 0x00c2, 0x0036 }, + { 0x08, 0x01, -1, 0x03, 0x0142, 0x000a }, + { 0x08, 0x01, -1, 0x03, 0x0142, 0x000c }, + { 0x08, 0x02, -1, 0x03, 0x0142, 0x000e }, + { 0x08, 0x02, -1, 0x03, 0x0142, 0x0012 }, + { 0x08, 0x03, -1, 0x03, 0x0142, 0x0016 }, + { 0x08, 0x03, -1, 0x03, 0x0142, 0x001e }, + { 0x08, 0x04, -1, 0x03, 0x0142, 0x0026 }, + { 0x08, 0x04, -1, 0x03, 0x0142, 0x0036 }, + { 0x09, 0x01, -1, 0x03, 0x0242, 0x000a }, + { 0x09, 0x01, -1, 0x03, 0x0242, 0x000c }, + { 0x09, 0x02, -1, 0x03, 0x0242, 0x000e }, + { 0x09, 0x02, -1, 0x03, 0x0242, 0x0012 }, + { 0x09, 0x03, -1, 0x03, 0x0242, 0x0016 }, + { 0x09, 0x03, -1, 0x03, 0x0242, 0x001e }, + { 0x09, 0x04, -1, 0x03, 0x0242, 0x0026 }, + { 0x09, 0x04, -1, 0x03, 0x0242, 0x0036 }, + { 0x0a, 0x01, -1, 0x03, 0x0442, 0x000a }, + { 0x0a, 0x01, -1, 0x03, 0x0442, 0x000c }, + { 0x0a, 0x02, -1, 0x03, 0x0442, 0x000e }, + { 0x0a, 0x02, -1, 0x03, 0x0442, 0x0012 }, + { 0x0a, 0x03, -1, 0x03, 0x0442, 0x0016 }, + { 0x0a, 0x03, -1, 0x03, 0x0442, 0x001e }, + { 0x0a, 0x04, -1, 0x03, 0x0442, 0x0026 }, + { 0x0a, 0x04, -1, 0x03, 0x0442, 0x0036 }, + { 0x0c, 0x01, -1, 0x03, 0x0842, 0x000a }, + { 0x0c, 0x01, -1, 0x03, 0x0842, 0x000c }, + { 0x0c, 0x02, -1, 0x03, 0x0842, 0x000e }, + { 0x0c, 0x02, -1, 0x03, 0x0842, 0x0012 }, + { 0x0c, 0x03, -1, 0x03, 0x0842, 0x0016 }, + { 0x0c, 0x03, -1, 0x03, 0x0842, 0x001e }, + { 0x0c, 0x04, -1, 0x03, 0x0842, 0x0026 }, + { 0x0c, 0x04, -1, 0x03, 0x0842, 0x0036 }, + { 0x0e, 0x01, -1, 0x03, 0x1842, 0x000a }, + { 0x0e, 0x01, -1, 0x03, 0x1842, 0x000c }, + { 0x0e, 0x02, -1, 0x03, 0x1842, 0x000e }, + { 0x0e, 0x02, -1, 0x03, 0x1842, 0x0012 }, + { 0x0e, 0x03, -1, 0x03, 0x1842, 0x0016 }, + { 0x0e, 0x03, -1, 0x03, 0x1842, 0x001e }, + { 0x0e, 0x04, -1, 0x03, 0x1842, 0x0026 }, + { 0x0e, 0x04, -1, 0x03, 0x1842, 0x0036 }, + { 0x18, 0x01, -1, 0x03, 0x5842, 0x000a }, + { 0x18, 0x01, -1, 0x03, 0x5842, 0x000c }, + { 0x18, 0x02, -1, 0x03, 0x5842, 0x000e }, + { 0x18, 0x02, -1, 0x03, 0x5842, 0x0012 }, + { 0x18, 0x03, -1, 0x03, 0x5842, 0x0016 }, + { 0x18, 0x03, -1, 0x03, 0x5842, 0x001e }, + { 0x18, 0x04, -1, 0x03, 0x5842, 0x0026 }, + { 0x18, 0x04, -1, 0x03, 0x5842, 0x0036 }, + { 0x06, 0x05, -1, 0x03, 0x0082, 0x0046 }, + { 0x06, 0x05, -1, 0x03, 0x0082, 0x0066 }, + { 0x06, 0x06, -1, 0x03, 0x0082, 0x0086 }, + { 0x06, 0x07, -1, 0x03, 0x0082, 0x00c6 }, + { 0x06, 0x08, -1, 0x03, 0x0082, 0x0146 }, + { 0x06, 0x09, -1, 0x03, 0x0082, 0x0246 }, + { 0x06, 0x0a, -1, 0x03, 0x0082, 0x0446 }, + { 0x06, 0x18, -1, 0x03, 0x0082, 0x0846 }, + { 0x07, 0x05, -1, 0x03, 0x00c2, 0x0046 }, + { 0x07, 0x05, -1, 0x03, 0x00c2, 0x0066 }, + { 0x07, 0x06, -1, 0x03, 0x00c2, 0x0086 }, + { 0x07, 0x07, -1, 0x03, 0x00c2, 0x00c6 }, + { 0x07, 0x08, -1, 0x03, 0x00c2, 0x0146 }, + { 0x07, 0x09, -1, 0x03, 0x00c2, 0x0246 }, + { 0x07, 0x0a, -1, 0x03, 0x00c2, 0x0446 }, + { 0x07, 0x18, -1, 0x03, 0x00c2, 0x0846 }, + { 0x08, 0x05, -1, 0x03, 0x0142, 0x0046 }, + { 0x08, 0x05, -1, 0x03, 0x0142, 0x0066 }, + { 0x08, 0x06, -1, 0x03, 0x0142, 0x0086 }, + { 0x08, 0x07, -1, 0x03, 0x0142, 0x00c6 }, + { 0x08, 0x08, -1, 0x03, 0x0142, 0x0146 }, + { 0x08, 0x09, -1, 0x03, 0x0142, 0x0246 }, + { 0x08, 0x0a, -1, 0x03, 0x0142, 0x0446 }, + { 0x08, 0x18, -1, 0x03, 0x0142, 0x0846 }, + { 0x09, 0x05, -1, 0x03, 0x0242, 0x0046 }, + { 0x09, 0x05, -1, 0x03, 0x0242, 0x0066 }, + { 0x09, 0x06, -1, 0x03, 0x0242, 0x0086 }, + { 0x09, 0x07, -1, 0x03, 0x0242, 0x00c6 }, + { 0x09, 0x08, -1, 0x03, 0x0242, 0x0146 }, + { 0x09, 0x09, -1, 0x03, 0x0242, 0x0246 }, + { 0x09, 0x0a, -1, 0x03, 0x0242, 0x0446 }, + { 0x09, 0x18, -1, 0x03, 0x0242, 0x0846 }, + { 0x0a, 0x05, -1, 0x03, 0x0442, 0x0046 }, + { 0x0a, 0x05, -1, 0x03, 0x0442, 0x0066 }, + { 0x0a, 0x06, -1, 0x03, 0x0442, 0x0086 }, + { 0x0a, 0x07, -1, 0x03, 0x0442, 0x00c6 }, + { 0x0a, 0x08, -1, 0x03, 0x0442, 0x0146 }, + { 0x0a, 0x09, -1, 0x03, 0x0442, 0x0246 }, + { 0x0a, 0x0a, -1, 0x03, 0x0442, 0x0446 }, + { 0x0a, 0x18, -1, 0x03, 0x0442, 0x0846 }, + { 0x0c, 0x05, -1, 0x03, 0x0842, 0x0046 }, + { 0x0c, 0x05, -1, 0x03, 0x0842, 0x0066 }, + { 0x0c, 0x06, -1, 0x03, 0x0842, 0x0086 }, + { 0x0c, 0x07, -1, 0x03, 0x0842, 0x00c6 }, + { 0x0c, 0x08, -1, 0x03, 0x0842, 0x0146 }, + { 0x0c, 0x09, -1, 0x03, 0x0842, 0x0246 }, + { 0x0c, 0x0a, -1, 0x03, 0x0842, 0x0446 }, + { 0x0c, 0x18, -1, 0x03, 0x0842, 0x0846 }, + { 0x0e, 0x05, -1, 0x03, 0x1842, 0x0046 }, + { 0x0e, 0x05, -1, 0x03, 0x1842, 0x0066 }, + { 0x0e, 0x06, -1, 0x03, 0x1842, 0x0086 }, + { 0x0e, 0x07, -1, 0x03, 0x1842, 0x00c6 }, + { 0x0e, 0x08, -1, 0x03, 0x1842, 0x0146 }, + { 0x0e, 0x09, -1, 0x03, 0x1842, 0x0246 }, + { 0x0e, 0x0a, -1, 0x03, 0x1842, 0x0446 }, + { 0x0e, 0x18, -1, 0x03, 0x1842, 0x0846 }, + { 0x18, 0x05, -1, 0x03, 0x5842, 0x0046 }, + { 0x18, 0x05, -1, 0x03, 0x5842, 0x0066 }, + { 0x18, 0x06, -1, 0x03, 0x5842, 0x0086 }, + { 0x18, 0x07, -1, 0x03, 0x5842, 0x00c6 }, + { 0x18, 0x08, -1, 0x03, 0x5842, 0x0146 }, + { 0x18, 0x09, -1, 0x03, 0x5842, 0x0246 }, + { 0x18, 0x0a, -1, 0x03, 0x5842, 0x0446 }, + { 0x18, 0x18, -1, 0x03, 0x5842, 0x0846 }, +}; + +#endif /* BROTLI_DEC_PREFIX_H_ */ diff --git a/dec/state.c b/dec/state.c new file mode 100644 index 0000000..d5815e0 --- /dev/null +++ b/dec/state.c @@ -0,0 +1,186 @@ +/* Copyright 2015 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +#include "./huffman.h" +#include "./state.h" + +#include +#include + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +static void* DefaultAllocFunc(void* opaque, size_t size) { + BROTLI_UNUSED(opaque); + return malloc(size); +} + +static void DefaultFreeFunc(void* opaque, void* address) { + BROTLI_UNUSED(opaque); + free(address); +} + +void BrotliStateInit(BrotliState* s) { + BrotliStateInitWithCustomAllocators(s, 0, 0, 0); +} + +void BrotliStateInitWithCustomAllocators(BrotliState* s, + brotli_alloc_func alloc_func, brotli_free_func free_func, void* opaque) { + if (!alloc_func) { + s->alloc_func = DefaultAllocFunc; + s->free_func = DefaultFreeFunc; + s->memory_manager_opaque = 0; + } else { + s->alloc_func = alloc_func; + s->free_func = free_func; + s->memory_manager_opaque = opaque; + } + + BrotliInitBitReader(&s->br); + s->state = BROTLI_STATE_UNINITED; + s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NONE; + s->substate_tree_group = BROTLI_STATE_TREE_GROUP_NONE; + s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_NONE; + s->substate_uncompressed = BROTLI_STATE_UNCOMPRESSED_NONE; + s->substate_huffman = BROTLI_STATE_HUFFMAN_NONE; + s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_NONE; + s->substate_read_block_length = BROTLI_STATE_READ_BLOCK_LENGTH_NONE; + + s->buffer_length = 0; + s->loop_counter = 0; + s->pos = 0; + s->rb_roundtrips = 0; + s->partial_pos_out = 0; + + s->block_type_trees = NULL; + s->block_len_trees = NULL; + s->ringbuffer = NULL; + + s->context_map = NULL; + s->context_modes = NULL; + s->dist_context_map = NULL; + s->context_map_slice = NULL; + s->dist_context_map_slice = NULL; + + s->sub_loop_counter = 0; + + s->literal_hgroup.codes = NULL; + s->literal_hgroup.htrees = NULL; + s->insert_copy_hgroup.codes = NULL; + s->insert_copy_hgroup.htrees = NULL; + s->distance_hgroup.codes = NULL; + s->distance_hgroup.htrees = NULL; + + + s->custom_dict = NULL; + s->custom_dict_size = 0; + + s->is_last_metablock = 0; + s->window_bits = 0; + s->max_distance = 0; + s->dist_rb[0] = 16; + s->dist_rb[1] = 15; + s->dist_rb[2] = 11; + s->dist_rb[3] = 4; + s->dist_rb_idx = 0; + s->block_type_trees = NULL; + s->block_len_trees = NULL; + + /* Make small negative indexes addressable. */ + s->symbol_lists = &s->symbols_lists_array[BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1]; + + s->mtf_upper_bound = 255; + + s->legacy_input_buffer = 0; + s->legacy_output_buffer = 0; + s->legacy_input_len = 0; + s->legacy_output_len = 0; + s->legacy_input_pos = 0; + s->legacy_output_pos = 0; +} + +void BrotliStateMetablockBegin(BrotliState* s) { + s->meta_block_remaining_len = 0; + s->block_length[0] = 1U << 28; + s->block_length[1] = 1U << 28; + s->block_length[2] = 1U << 28; + s->num_block_types[0] = 1; + s->num_block_types[1] = 1; + s->num_block_types[2] = 1; + s->block_type_rb[0] = 1; + s->block_type_rb[1] = 0; + s->block_type_rb[2] = 1; + s->block_type_rb[3] = 0; + s->block_type_rb[4] = 1; + s->block_type_rb[5] = 0; + s->context_map = NULL; + s->context_modes = NULL; + s->dist_context_map = NULL; + s->context_map_slice = NULL; + s->literal_htree_index = 0; + s->literal_htree = NULL; + s->dist_context_map_slice = NULL; + s->dist_htree_index = 0; + s->context_lookup1 = NULL; + s->context_lookup2 = NULL; + s->literal_hgroup.codes = NULL; + s->literal_hgroup.htrees = NULL; + s->insert_copy_hgroup.codes = NULL; + s->insert_copy_hgroup.htrees = NULL; + s->distance_hgroup.codes = NULL; + s->distance_hgroup.htrees = NULL; +} + +void BrotliStateCleanupAfterMetablock(BrotliState* s) { + BROTLI_FREE(s, s->context_modes); + BROTLI_FREE(s, s->context_map); + BROTLI_FREE(s, s->dist_context_map); + + BrotliHuffmanTreeGroupRelease(s, &s->literal_hgroup); + BrotliHuffmanTreeGroupRelease(s, &s->insert_copy_hgroup); + BrotliHuffmanTreeGroupRelease(s, &s->distance_hgroup); +} + +void BrotliStateCleanup(BrotliState* s) { + BrotliStateCleanupAfterMetablock(s); + + BROTLI_FREE(s, s->ringbuffer); + BROTLI_FREE(s, s->block_type_trees); + BROTLI_FREE(s, s->legacy_input_buffer); + BROTLI_FREE(s, s->legacy_output_buffer); +} + +int BrotliStateIsStreamStart(const BrotliState* s) { + return (s->state == BROTLI_STATE_UNINITED && + BrotliGetAvailableBits(&s->br) == 0); +} + +int BrotliStateIsStreamEnd(const BrotliState* s) { + return s->state == BROTLI_STATE_DONE; +} + +void BrotliHuffmanTreeGroupInit(BrotliState* s, HuffmanTreeGroup* group, + uint32_t alphabet_size, uint32_t ntrees) { + /* Pack two allocations into one */ + const size_t code_size = + sizeof(HuffmanCode) * (size_t)(ntrees * BROTLI_HUFFMAN_MAX_TABLE_SIZE); + const size_t htree_size = sizeof(HuffmanCode*) * (size_t)ntrees; + char *p = (char*)BROTLI_ALLOC(s, code_size + htree_size); + group->alphabet_size = (uint16_t)alphabet_size; + group->num_htrees = (uint16_t)ntrees; + group->codes = (HuffmanCode*)p; + group->htrees = (HuffmanCode**)(p + code_size); +} + +void BrotliHuffmanTreeGroupRelease(BrotliState* s, HuffmanTreeGroup* group) { + BROTLI_FREE(s, group->codes); + group->htrees = NULL; +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/dec/state.h b/dec/state.h new file mode 100644 index 0000000..f569f58 --- /dev/null +++ b/dec/state.h @@ -0,0 +1,256 @@ +/* Copyright 2015 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Brotli state for partial streaming decoding. */ + +#ifndef BROTLI_DEC_STATE_H_ +#define BROTLI_DEC_STATE_H_ + +#include +#include "./bit_reader.h" +#include "./huffman.h" +#include "./types.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +typedef enum { + BROTLI_STATE_UNINITED, + BROTLI_STATE_METABLOCK_BEGIN, + BROTLI_STATE_METABLOCK_HEADER, + BROTLI_STATE_METABLOCK_HEADER_2, + BROTLI_STATE_CONTEXT_MODES, + BROTLI_STATE_COMMAND_BEGIN, + BROTLI_STATE_COMMAND_INNER, + BROTLI_STATE_COMMAND_POST_DECODE_LITERALS, + BROTLI_STATE_COMMAND_POST_WRAP_COPY, + BROTLI_STATE_UNCOMPRESSED, + BROTLI_STATE_METADATA, + BROTLI_STATE_COMMAND_INNER_WRITE, + BROTLI_STATE_METABLOCK_DONE, + BROTLI_STATE_COMMAND_POST_WRITE_1, + BROTLI_STATE_COMMAND_POST_WRITE_2, + BROTLI_STATE_HUFFMAN_CODE_0, + BROTLI_STATE_HUFFMAN_CODE_1, + BROTLI_STATE_HUFFMAN_CODE_2, + BROTLI_STATE_HUFFMAN_CODE_3, + BROTLI_STATE_CONTEXT_MAP_1, + BROTLI_STATE_CONTEXT_MAP_2, + BROTLI_STATE_TREE_GROUP, + BROTLI_STATE_DONE +} BrotliRunningState; + +typedef enum { + BROTLI_STATE_METABLOCK_HEADER_NONE, + BROTLI_STATE_METABLOCK_HEADER_EMPTY, + BROTLI_STATE_METABLOCK_HEADER_NIBBLES, + BROTLI_STATE_METABLOCK_HEADER_SIZE, + BROTLI_STATE_METABLOCK_HEADER_UNCOMPRESSED, + BROTLI_STATE_METABLOCK_HEADER_RESERVED, + BROTLI_STATE_METABLOCK_HEADER_BYTES, + BROTLI_STATE_METABLOCK_HEADER_METADATA +} BrotliRunningMetablockHeaderState; + +typedef enum { + BROTLI_STATE_UNCOMPRESSED_NONE, + BROTLI_STATE_UNCOMPRESSED_WRITE +} BrotliRunningUncompressedState; + +typedef enum { + BROTLI_STATE_TREE_GROUP_NONE, + BROTLI_STATE_TREE_GROUP_LOOP +} BrotliRunningTreeGroupState; + +typedef enum { + BROTLI_STATE_CONTEXT_MAP_NONE, + BROTLI_STATE_CONTEXT_MAP_READ_PREFIX, + BROTLI_STATE_CONTEXT_MAP_HUFFMAN, + BROTLI_STATE_CONTEXT_MAP_DECODE, + BROTLI_STATE_CONTEXT_MAP_TRANSFORM +} BrotliRunningContextMapState; + +typedef enum { + BROTLI_STATE_HUFFMAN_NONE, + BROTLI_STATE_HUFFMAN_SIMPLE_SIZE, + BROTLI_STATE_HUFFMAN_SIMPLE_READ, + BROTLI_STATE_HUFFMAN_SIMPLE_BUILD, + BROTLI_STATE_HUFFMAN_COMPLEX, + BROTLI_STATE_HUFFMAN_LENGTH_SYMBOLS +} BrotliRunningHuffmanState; + +typedef enum { + BROTLI_STATE_DECODE_UINT8_NONE, + BROTLI_STATE_DECODE_UINT8_SHORT, + BROTLI_STATE_DECODE_UINT8_LONG +} BrotliRunningDecodeUint8State; + +typedef enum { + BROTLI_STATE_READ_BLOCK_LENGTH_NONE, + BROTLI_STATE_READ_BLOCK_LENGTH_SUFFIX +} BrotliRunningReadBlockLengthState; + +struct BrotliStateStruct { + BrotliRunningState state; + BrotliBitReader br; + + brotli_alloc_func alloc_func; + brotli_free_func free_func; + void* memory_manager_opaque; + + /* Temporary storage for remaining input. */ + union { + uint64_t u64; + uint8_t u8[8]; + } buffer; + uint32_t buffer_length; + + /* This counter is reused for several disjoint loops. */ + int loop_counter; + int pos; + int max_backward_distance; + int max_backward_distance_minus_custom_dict_size; + int max_distance; + int ringbuffer_size; + int ringbuffer_mask; + int dist_rb_idx; + int dist_rb[4]; + uint8_t* ringbuffer; + uint8_t* ringbuffer_end; + HuffmanCode* htree_command; + const uint8_t* context_lookup1; + const uint8_t* context_lookup2; + uint8_t* context_map_slice; + uint8_t* dist_context_map_slice; + + uint32_t sub_loop_counter; + + /* This ring buffer holds a few past copy distances that will be used by */ + /* some special distance codes. */ + HuffmanTreeGroup literal_hgroup; + HuffmanTreeGroup insert_copy_hgroup; + HuffmanTreeGroup distance_hgroup; + HuffmanCode* block_type_trees; + HuffmanCode* block_len_trees; + /* This is true if the literal context map histogram type always matches the + block type. It is then not needed to keep the context (faster decoding). */ + int trivial_literal_context; + int distance_context; + int meta_block_remaining_len; + uint32_t block_length_index; + uint32_t block_length[3]; + uint32_t num_block_types[3]; + uint32_t block_type_rb[6]; + uint32_t distance_postfix_bits; + uint32_t num_direct_distance_codes; + int distance_postfix_mask; + uint32_t num_dist_htrees; + uint8_t* dist_context_map; + HuffmanCode *literal_htree; + uint8_t literal_htree_index; + uint8_t dist_htree_index; + uint32_t repeat_code_len; + uint32_t prev_code_len; + + + int copy_length; + int distance_code; + + /* For partial write operations */ + size_t rb_roundtrips; /* How many times we went around the ringbuffer */ + size_t partial_pos_out; /* How much output to the user in total (<= rb) */ + + /* For ReadHuffmanCode */ + uint32_t symbol; + uint32_t repeat; + uint32_t space; + + HuffmanCode table[32]; + /* List of of symbol chains. */ + uint16_t* symbol_lists; + /* Storage from symbol_lists. */ + uint16_t symbols_lists_array[BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1 + + BROTLI_HUFFMAN_MAX_CODE_LENGTHS_SIZE]; + /* Tails of symbol chains. */ + int next_symbol[32]; + uint8_t code_length_code_lengths[18]; + /* Population counts for the code lengths */ + uint16_t code_length_histo[16]; + + /* For HuffmanTreeGroupDecode */ + int htree_index; + HuffmanCode* next; + + /* For DecodeContextMap */ + uint32_t context_index; + uint32_t max_run_length_prefix; + uint32_t code; + HuffmanCode context_map_table[BROTLI_HUFFMAN_MAX_TABLE_SIZE]; + + /* For InverseMoveToFrontTransform */ + uint32_t mtf_upper_bound; + uint8_t mtf[256]; + + /* For custom dictionaries */ + const uint8_t* custom_dict; + int custom_dict_size; + + /* less used attributes are in the end of this struct */ + /* States inside function calls */ + BrotliRunningMetablockHeaderState substate_metablock_header; + BrotliRunningTreeGroupState substate_tree_group; + BrotliRunningContextMapState substate_context_map; + BrotliRunningUncompressedState substate_uncompressed; + BrotliRunningHuffmanState substate_huffman; + BrotliRunningDecodeUint8State substate_decode_uint8; + BrotliRunningReadBlockLengthState substate_read_block_length; + + uint8_t is_last_metablock; + uint8_t is_uncompressed; + uint8_t is_metadata; + uint8_t size_nibbles; + uint32_t window_bits; + + uint32_t num_literal_htrees; + uint8_t* context_map; + uint8_t* context_modes; + + uint8_t* legacy_input_buffer; + uint8_t* legacy_output_buffer; + size_t legacy_input_len; + size_t legacy_output_len; + size_t legacy_input_pos; + size_t legacy_output_pos; +}; + +typedef struct BrotliStateStruct BrotliState; + +void BrotliStateInit(BrotliState* s); +void BrotliStateInitWithCustomAllocators(BrotliState* s, + brotli_alloc_func alloc_func, + brotli_free_func free_func, + void* opaque); +void BrotliStateCleanup(BrotliState* s); +void BrotliStateMetablockBegin(BrotliState* s); +void BrotliStateCleanupAfterMetablock(BrotliState* s); +void BrotliHuffmanTreeGroupInit(BrotliState* s, HuffmanTreeGroup* group, + uint32_t alphabet_size, uint32_t ntrees); +void BrotliHuffmanTreeGroupRelease(BrotliState* s, HuffmanTreeGroup* group); + +/* Returns 1, if s is in a state where we have not read any input bytes yet, + and 0 otherwise */ +int BrotliStateIsStreamStart(const BrotliState* s); + +/* Returns 1, if s is in a state where we reached the end of the input and + produced all of the output, and 0 otherwise. */ +int BrotliStateIsStreamEnd(const BrotliState* s); + + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_DEC_STATE_H_ */ diff --git a/dec/streams.c b/dec/streams.c new file mode 100644 index 0000000..0c781a7 --- /dev/null +++ b/dec/streams.c @@ -0,0 +1,102 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Functions for streaming input and output. */ + +#include +#ifndef _WIN32 +#include +#endif +#include "./streams.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +int BrotliMemInputFunction(void* data, uint8_t* buf, size_t count) { + BrotliMemInput* input = (BrotliMemInput*)data; + if (input->pos > input->length) { + return -1; + } + if (input->pos + count > input->length) { + count = input->length - input->pos; + } + memcpy(buf, input->buffer + input->pos, count); + input->pos += count; + return (int)count; +} + +BrotliInput BrotliInitMemInput(const uint8_t* buffer, size_t length, + BrotliMemInput* mem_input) { + BrotliInput input; + mem_input->buffer = buffer; + mem_input->length = length; + mem_input->pos = 0; + input.cb_ = &BrotliMemInputFunction; + input.data_ = mem_input; + return input; +} + +int BrotliMemOutputFunction(void* data, const uint8_t* buf, size_t count) { + BrotliMemOutput* output = (BrotliMemOutput*)data; + size_t limit = output->length - output->pos; + if (count > limit) { + count = limit; + } + memcpy(output->buffer + output->pos, buf, count); + output->pos += count; + return (int)count; +} + +BrotliOutput BrotliInitMemOutput(uint8_t* buffer, size_t length, + BrotliMemOutput* mem_output) { + BrotliOutput output; + mem_output->buffer = buffer; + mem_output->length = length; + mem_output->pos = 0; + output.cb_ = &BrotliMemOutputFunction; + output.data_ = mem_output; + return output; +} + +int BrotliFileInputFunction(void* data, uint8_t* buf, size_t count) { + return (int)fread(buf, 1, count, (FILE*)data); +} + +BrotliInput BrotliFileInput(FILE* f) { + BrotliInput in; + in.cb_ = BrotliFileInputFunction; + in.data_ = f; + return in; +} + +int BrotliFileOutputFunction(void* data, const uint8_t* buf, size_t count) { + return (int)fwrite(buf, 1, count, (FILE*)data); +} + +BrotliOutput BrotliFileOutput(FILE* f) { + BrotliOutput out; + out.cb_ = BrotliFileOutputFunction; + out.data_ = f; + return out; +} + +int BrotliNullOutputFunction(void* data , const uint8_t* buf, size_t count) { + BROTLI_UNUSED(data); + BROTLI_UNUSED(buf); + return (int)count; +} + +BrotliOutput BrotliNullOutput(void) { + BrotliOutput out; + out.cb_ = BrotliNullOutputFunction; + out.data_ = NULL; + return out; +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif diff --git a/dec/streams.h b/dec/streams.h new file mode 100644 index 0000000..a849432 --- /dev/null +++ b/dec/streams.h @@ -0,0 +1,95 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Functions for streaming input and output. */ + +#ifndef BROTLI_DEC_STREAMS_H_ +#define BROTLI_DEC_STREAMS_H_ + +#include +#include "./port.h" +#include "./types.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +/* Function pointer type used to read len bytes into buf. Returns the */ +/* number of bytes read or -1 on error. */ +typedef int (*BrotliInputFunction)(void* data, uint8_t* buf, size_t len); + +/* Input callback function with associated data. */ +typedef struct { + BrotliInputFunction cb_; + void* data_; +} BrotliInput; + +/* Reads len bytes into buf, using the in callback. */ +static BROTLI_INLINE int BrotliRead(BrotliInput in, uint8_t* buf, size_t len) { + return in.cb_(in.data_, buf, len); +} + +/* Function pointer type used to write len bytes into buf. Returns the */ +/* number of bytes written or -1 on error. */ +typedef int (*BrotliOutputFunction)(void* data, const uint8_t* buf, size_t len); + +/* Output callback function with associated data. */ +typedef struct { + BrotliOutputFunction cb_; + void* data_; +} BrotliOutput; + +/* Writes len bytes into buf, using the out callback. */ +static BROTLI_INLINE int BrotliWrite(BrotliOutput out, + const uint8_t* buf, size_t len) { + return out.cb_(out.data_, buf, len); +} + +/* Memory region with position. */ +typedef struct { + const uint8_t* buffer; + size_t length; + size_t pos; +} BrotliMemInput; + +/* Input callback where *data is a BrotliMemInput struct. */ +int BrotliMemInputFunction(void* data, uint8_t* buf, size_t count); + +/* Returns an input callback that wraps the given memory region. */ +BrotliInput BrotliInitMemInput(const uint8_t* buffer, size_t length, + BrotliMemInput* mem_input); + +/* Output buffer with position. */ +typedef struct { + uint8_t* buffer; + size_t length; + size_t pos; +} BrotliMemOutput; + +/* Output callback where *data is a BrotliMemOutput struct. */ +int BrotliMemOutputFunction(void* data, const uint8_t* buf, size_t count); + +/* Returns an output callback that wraps the given memory region. */ +BrotliOutput BrotliInitMemOutput(uint8_t* buffer, size_t length, + BrotliMemOutput* mem_output); + +/* Input callback that reads from a file. */ +int BrotliFileInputFunction(void* data, uint8_t* buf, size_t count); +BrotliInput BrotliFileInput(FILE* f); + +/* Output callback that writes to a file. */ +int BrotliFileOutputFunction(void* data, const uint8_t* buf, size_t count); +BrotliOutput BrotliFileOutput(FILE* f); + +/* Output callback that does nothing, always consumes the whole input. */ +int BrotliNullOutputFunction(void* data, const uint8_t* buf, size_t count); +BrotliOutput BrotliNullOutput(void); + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_DEC_STREAMS_H_ */ diff --git a/dec/transform.h b/dec/transform.h new file mode 100644 index 0000000..f47eeb4 --- /dev/null +++ b/dec/transform.h @@ -0,0 +1,306 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Transformations on dictionary words. */ + +#ifndef BROTLI_DEC_TRANSFORM_H_ +#define BROTLI_DEC_TRANSFORM_H_ + +#include +#include +#include "./port.h" +#include "./types.h" + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +enum WordTransformType { + kIdentity = 0, + kOmitLast1 = 1, + kOmitLast2 = 2, + kOmitLast3 = 3, + kOmitLast4 = 4, + kOmitLast5 = 5, + kOmitLast6 = 6, + kOmitLast7 = 7, + kOmitLast8 = 8, + kOmitLast9 = 9, + kUppercaseFirst = 10, + kUppercaseAll = 11, + kOmitFirst1 = 12, + kOmitFirst2 = 13, + kOmitFirst3 = 14, + kOmitFirst4 = 15, + kOmitFirst5 = 16, + kOmitFirst6 = 17, + kOmitFirst7 = 18, + kOmitFirst8 = 19, + kOmitFirst9 = 20 +}; + +typedef struct { + const uint8_t prefix_id; + const uint8_t transform; + const uint8_t suffix_id; +} Transform; + +static const char kPrefixSuffix[208] = + "\0 \0, \0 of the \0 of \0s \0.\0 and \0 in \0\"\0 to \0\">\0\n\0. \0]\0" + " for \0 a \0 that \0\'\0 with \0 from \0 by \0(\0. The \0 on \0 as \0" + " is \0ing \0\n\t\0:\0ed \0=\"\0 at \0ly \0,\0=\'\0.com/\0. This \0" + " not \0er \0al \0ful \0ive \0less \0est \0ize \0\xc2\xa0\0ous "; + +enum { + /* EMPTY = "" + SP = " " + DQUOT = "\"" + SQUOT = "'" + CLOSEBR = "]" + OPEN = "(" + SLASH = "/" + NBSP = non-breaking space "\0xc2\xa0" + */ + kPFix_EMPTY = 0, + kPFix_SP = 1, + kPFix_COMMASP = 3, + kPFix_SPofSPtheSP = 6, + kPFix_SPtheSP = 9, + kPFix_eSP = 12, + kPFix_SPofSP = 15, + kPFix_sSP = 20, + kPFix_DOT = 23, + kPFix_SPandSP = 25, + kPFix_SPinSP = 31, + kPFix_DQUOT = 36, + kPFix_SPtoSP = 38, + kPFix_DQUOTGT = 43, + kPFix_NEWLINE = 46, + kPFix_DOTSP = 48, + kPFix_CLOSEBR = 51, + kPFix_SPforSP = 53, + kPFix_SPaSP = 59, + kPFix_SPthatSP = 63, + kPFix_SQUOT = 70, + kPFix_SPwithSP = 72, + kPFix_SPfromSP = 79, + kPFix_SPbySP = 86, + kPFix_OPEN = 91, + kPFix_DOTSPTheSP = 93, + kPFix_SPonSP = 100, + kPFix_SPasSP = 105, + kPFix_SPisSP = 110, + kPFix_ingSP = 115, + kPFix_NEWLINETAB = 120, + kPFix_COLON = 123, + kPFix_edSP = 125, + kPFix_EQDQUOT = 129, + kPFix_SPatSP = 132, + kPFix_lySP = 137, + kPFix_COMMA = 141, + kPFix_EQSQUOT = 143, + kPFix_DOTcomSLASH = 146, + kPFix_DOTSPThisSP = 152, + kPFix_SPnotSP = 160, + kPFix_erSP = 166, + kPFix_alSP = 170, + kPFix_fulSP = 174, + kPFix_iveSP = 179, + kPFix_lessSP = 184, + kPFix_estSP = 190, + kPFix_izeSP = 195, + kPFix_NBSP = 200, + kPFix_ousSP = 203 +}; + + +static const Transform kTransforms[] = { + { kPFix_EMPTY, kIdentity, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_SP }, + { kPFix_SP, kIdentity, kPFix_SP }, + { kPFix_EMPTY, kOmitFirst1, kPFix_EMPTY }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_SP }, + { kPFix_EMPTY, kIdentity, kPFix_SPtheSP }, + { kPFix_SP, kIdentity, kPFix_EMPTY }, + { kPFix_sSP, kIdentity, kPFix_SP }, + { kPFix_EMPTY, kIdentity, kPFix_SPofSP }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_SPandSP }, + { kPFix_EMPTY, kOmitFirst2, kPFix_EMPTY }, + { kPFix_EMPTY, kOmitLast1, kPFix_EMPTY }, + { kPFix_COMMASP, kIdentity, kPFix_SP }, + { kPFix_EMPTY, kIdentity, kPFix_COMMASP }, + { kPFix_SP, kUppercaseFirst, kPFix_SP }, + { kPFix_EMPTY, kIdentity, kPFix_SPinSP }, + { kPFix_EMPTY, kIdentity, kPFix_SPtoSP }, + { kPFix_eSP, kIdentity, kPFix_SP }, + { kPFix_EMPTY, kIdentity, kPFix_DQUOT }, + { kPFix_EMPTY, kIdentity, kPFix_DOT }, + { kPFix_EMPTY, kIdentity, kPFix_DQUOTGT }, + { kPFix_EMPTY, kIdentity, kPFix_NEWLINE }, + { kPFix_EMPTY, kOmitLast3, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_CLOSEBR }, + { kPFix_EMPTY, kIdentity, kPFix_SPforSP }, + { kPFix_EMPTY, kOmitFirst3, kPFix_EMPTY }, + { kPFix_EMPTY, kOmitLast2, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_SPaSP }, + { kPFix_EMPTY, kIdentity, kPFix_SPthatSP }, + { kPFix_SP, kUppercaseFirst, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_DOTSP }, + { kPFix_DOT, kIdentity, kPFix_EMPTY }, + { kPFix_SP, kIdentity, kPFix_COMMASP }, + { kPFix_EMPTY, kOmitFirst4, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_SPwithSP }, + { kPFix_EMPTY, kIdentity, kPFix_SQUOT }, + { kPFix_EMPTY, kIdentity, kPFix_SPfromSP }, + { kPFix_EMPTY, kIdentity, kPFix_SPbySP }, + { kPFix_EMPTY, kOmitFirst5, kPFix_EMPTY }, + { kPFix_EMPTY, kOmitFirst6, kPFix_EMPTY }, + { kPFix_SPtheSP, kIdentity, kPFix_EMPTY }, + { kPFix_EMPTY, kOmitLast4, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_DOTSPTheSP }, + { kPFix_EMPTY, kUppercaseAll, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_SPonSP }, + { kPFix_EMPTY, kIdentity, kPFix_SPasSP }, + { kPFix_EMPTY, kIdentity, kPFix_SPisSP }, + { kPFix_EMPTY, kOmitLast7, kPFix_EMPTY }, + { kPFix_EMPTY, kOmitLast1, kPFix_ingSP }, + { kPFix_EMPTY, kIdentity, kPFix_NEWLINETAB }, + { kPFix_EMPTY, kIdentity, kPFix_COLON }, + { kPFix_SP, kIdentity, kPFix_DOTSP }, + { kPFix_EMPTY, kIdentity, kPFix_edSP }, + { kPFix_EMPTY, kOmitFirst9, kPFix_EMPTY }, + { kPFix_EMPTY, kOmitFirst7, kPFix_EMPTY }, + { kPFix_EMPTY, kOmitLast6, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_OPEN }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_COMMASP }, + { kPFix_EMPTY, kOmitLast8, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_SPatSP }, + { kPFix_EMPTY, kIdentity, kPFix_lySP }, + { kPFix_SPtheSP, kIdentity, kPFix_SPofSP }, + { kPFix_EMPTY, kOmitLast5, kPFix_EMPTY }, + { kPFix_EMPTY, kOmitLast9, kPFix_EMPTY }, + { kPFix_SP, kUppercaseFirst, kPFix_COMMASP }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_DQUOT }, + { kPFix_DOT, kIdentity, kPFix_OPEN }, + { kPFix_EMPTY, kUppercaseAll, kPFix_SP }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_DQUOTGT }, + { kPFix_EMPTY, kIdentity, kPFix_EQDQUOT }, + { kPFix_SP, kIdentity, kPFix_DOT }, + { kPFix_DOTcomSLASH, kIdentity, kPFix_EMPTY }, + { kPFix_SPtheSP, kIdentity, kPFix_SPofSPtheSP }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_SQUOT }, + { kPFix_EMPTY, kIdentity, kPFix_DOTSPThisSP }, + { kPFix_EMPTY, kIdentity, kPFix_COMMA }, + { kPFix_DOT, kIdentity, kPFix_SP }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_OPEN }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_DOT }, + { kPFix_EMPTY, kIdentity, kPFix_SPnotSP }, + { kPFix_SP, kIdentity, kPFix_EQDQUOT }, + { kPFix_EMPTY, kIdentity, kPFix_erSP }, + { kPFix_SP, kUppercaseAll, kPFix_SP }, + { kPFix_EMPTY, kIdentity, kPFix_alSP }, + { kPFix_SP, kUppercaseAll, kPFix_EMPTY }, + { kPFix_EMPTY, kIdentity, kPFix_EQSQUOT }, + { kPFix_EMPTY, kUppercaseAll, kPFix_DQUOT }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_DOTSP }, + { kPFix_SP, kIdentity, kPFix_OPEN }, + { kPFix_EMPTY, kIdentity, kPFix_fulSP }, + { kPFix_SP, kUppercaseFirst, kPFix_DOTSP }, + { kPFix_EMPTY, kIdentity, kPFix_iveSP }, + { kPFix_EMPTY, kIdentity, kPFix_lessSP }, + { kPFix_EMPTY, kUppercaseAll, kPFix_SQUOT }, + { kPFix_EMPTY, kIdentity, kPFix_estSP }, + { kPFix_SP, kUppercaseFirst, kPFix_DOT }, + { kPFix_EMPTY, kUppercaseAll, kPFix_DQUOTGT }, + { kPFix_SP, kIdentity, kPFix_EQSQUOT }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_COMMA }, + { kPFix_EMPTY, kIdentity, kPFix_izeSP }, + { kPFix_EMPTY, kUppercaseAll, kPFix_DOT }, + { kPFix_NBSP, kIdentity, kPFix_EMPTY }, + { kPFix_SP, kIdentity, kPFix_COMMA }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_EQDQUOT }, + { kPFix_EMPTY, kUppercaseAll, kPFix_EQDQUOT }, + { kPFix_EMPTY, kIdentity, kPFix_ousSP }, + { kPFix_EMPTY, kUppercaseAll, kPFix_COMMASP }, + { kPFix_EMPTY, kUppercaseFirst, kPFix_EQSQUOT }, + { kPFix_SP, kUppercaseFirst, kPFix_COMMA }, + { kPFix_SP, kUppercaseAll, kPFix_EQDQUOT }, + { kPFix_SP, kUppercaseAll, kPFix_COMMASP }, + { kPFix_EMPTY, kUppercaseAll, kPFix_COMMA }, + { kPFix_EMPTY, kUppercaseAll, kPFix_OPEN }, + { kPFix_EMPTY, kUppercaseAll, kPFix_DOTSP }, + { kPFix_SP, kUppercaseAll, kPFix_DOT }, + { kPFix_EMPTY, kUppercaseAll, kPFix_EQSQUOT }, + { kPFix_SP, kUppercaseAll, kPFix_DOTSP }, + { kPFix_SP, kUppercaseFirst, kPFix_EQDQUOT }, + { kPFix_SP, kUppercaseAll, kPFix_EQSQUOT }, + { kPFix_SP, kUppercaseFirst, kPFix_EQSQUOT }, +}; + +static const int kNumTransforms = sizeof(kTransforms) / sizeof(kTransforms[0]); + +static int ToUpperCase(uint8_t *p) { + if (p[0] < 0xc0) { + if (p[0] >= 'a' && p[0] <= 'z') { + p[0] ^= 32; + } + return 1; + } + /* An overly simplified uppercasing model for utf-8. */ + if (p[0] < 0xe0) { + p[1] ^= 32; + return 2; + } + /* An arbitrary transform for three byte characters. */ + p[2] ^= 5; + return 3; +} + +static BROTLI_NOINLINE int TransformDictionaryWord( + uint8_t* dst, const uint8_t* word, int len, int transform) { + int idx = 0; + { + const char* prefix = &kPrefixSuffix[kTransforms[transform].prefix_id]; + while (*prefix) { dst[idx++] = (uint8_t)*prefix++; } + } + { + const int t = kTransforms[transform].transform; + int skip = t < kOmitFirst1 ? 0 : t - (kOmitFirst1 - 1); + int i = 0; + uint8_t* uppercase; + if (skip > len) { + skip = len; + } + word += skip; + len -= skip; + if (t <= kOmitLast9) { + len -= t; + } + while (i < len) { dst[idx++] = word[i++]; } + uppercase = &dst[idx - len]; + if (t == kUppercaseFirst) { + ToUpperCase(uppercase); + } else if (t == kUppercaseAll) { + while (len > 0) { + int step = ToUpperCase(uppercase); + uppercase += step; + len -= step; + } + } + } + { + const char* suffix = &kPrefixSuffix[kTransforms[transform].suffix_id]; + while (*suffix) { dst[idx++] = (uint8_t)*suffix++; } + return idx; + } +} + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_DEC_TRANSFORM_H_ */ diff --git a/dec/types.h b/dec/types.h new file mode 100644 index 0000000..56fde60 --- /dev/null +++ b/dec/types.h @@ -0,0 +1,38 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Common types */ + +#ifndef BROTLI_DEC_TYPES_H_ +#define BROTLI_DEC_TYPES_H_ + +#include /* for size_t */ + +#if defined(_MSC_VER) && (_MSC_VER < 1600) +typedef __int8 int8_t; +typedef unsigned __int8 uint8_t; +typedef __int16 int16_t; +typedef unsigned __int16 uint16_t; +typedef __int32 int32_t; +typedef unsigned __int32 uint32_t; +typedef unsigned __int64 uint64_t; +typedef __int64 int64_t; +#else +#include +#endif /* defined(_MSC_VER) && (_MSC_VER < 1600) */ + +/* Allocating function pointer. Function MUST return 0 in the case of failure. + Otherwise it MUST return a valid pointer to a memory region of at least + size length. Neither items nor size are allowed to be 0. + opaque argument is a pointer provided by client and could be used to bind + function to specific object (memory pool). */ +typedef void* (*brotli_alloc_func) (void* opaque, size_t size); + +/* Deallocating function pointer. Function SHOULD be no-op in the case the + address is 0. */ +typedef void (*brotli_free_func) (void* opaque, void* address); + +#endif /* BROTLI_DEC_TYPES_H_ */ diff --git a/lib/IO/Compress/Brotli.pm b/lib/IO/Compress/Brotli.pm new file mode 100644 index 0000000..9b19fa1 --- /dev/null +++ b/lib/IO/Compress/Brotli.pm @@ -0,0 +1,39 @@ +package IO::Compress::Brotli; + +use 5.014000; +use strict; +use warnings; + +our $VERSION = '0.001'; + +1; +__END__ + +=encoding utf-8 + +=head1 NAME + +IO::Compress::Brotli - [Not yet implemented] Write Brotli buffers/streams + +=head1 SYNOPSIS + + use IO::Compress::Brotli; + +=head1 DESCRIPTION + +IO::Compress::Brotli currently does nothing. + +=head1 AUTHOR + +Marius Gavrilescu, Emarius@ieval.roE + +=head1 COPYRIGHT AND LICENSE + +Copyright (C) 2015 by Marius Gavrilescu + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself, either Perl version 5.20.2 or, +at your option, any later version of Perl 5 you may have available. + + +=cut diff --git a/lib/IO/Uncompress/Brotli.pm b/lib/IO/Uncompress/Brotli.pm new file mode 100644 index 0000000..7cf3bd6 --- /dev/null +++ b/lib/IO/Uncompress/Brotli.pm @@ -0,0 +1,127 @@ +package IO::Uncompress::Brotli; + +use 5.014000; +use strict; +use warnings; +use parent qw/Exporter/; + +our @EXPORT = qw/unbro/; +our @EXPORT_OK = @EXPORT; + +our $VERSION = '0.001'; + +require XSLoader; +XSLoader::load('IO::Compress::Brotli', $VERSION); + +sub create { + my ($class) = @_; + my $state = BrotliCreateState(); + bless \$state, $class +} + +sub DESTROY { + my ($self) = @_; + BrotliDestroyState($$self) +} + +sub decompress { + my ($self, $data) = @_; + BrotliDecompressStream($$self, $data) +} + +# Untested, probably not working +sub set_dictionary { + my ($self, $dict) = @_; + BrotliSetCustomDictionary($$self, $dict) +} + +1; +__END__ + +=encoding utf-8 + +=head1 NAME + +IO::Uncompress::Brotli - Read Brotli buffers/streams + +=head1 SYNOPSIS + + use IO::Uncompress::Brotli; + + # uncompress a buffer + my $decoded = unbro $encoded; + + # uncompress a stream + my $bro = IO::Uncompress::Brotli->create; + while(have_input()) { + my $block = get_input_block(); + my $decoded_block = $bro->decompress($block); + handle_output_block($decoded_block); + } + +=head1 DESCRIPTION + +IO::Uncompress::Brotli is a module that decompresses Brotli buffers +and streams. Despite its name, it is not a subclass of +L and does not implement its interface. This +will be rectified in a future release. + +=head2 One-shot interface + +If you have the whole buffer in a Perl scalar use the B +function. + +=over + +=item B(I<$input>) + +Takes a whole compressed buffer as input and returns the decompressed +data. This function relies on the BrotliDecompressedSize function. In +other words, it only works if the buffer has a single meta block or +two meta-blocks where the first is uncompressed and the second is +empty. + +Exported by default. + +=back + +=head2 Streaming interface + +If you want to process the data in blocks use the object oriented +interface. The available methods are: + +=over + +=item IO::Uncompress::Brotli->B + +Returns a IO::Uncompress::Brotli instance. Please note that a single +instance cannot be used to decompress multiple streams. + +=item $bro->B(I<$block>) + +Takes the a block of compressed data and returns a block of +uncompressed data. Dies on error. + +=back + +=head1 SEE ALSO + +Brotli Compressed Data Format Internet-Draft: +L + +Brotli source code: L + +=head1 AUTHOR + +Marius Gavrilescu, Emarius@ieval.roE + +=head1 COPYRIGHT AND LICENSE + +Copyright (C) 2015 by Marius Gavrilescu + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself, either Perl version 5.20.2 or, +at your option, any later version of Perl 5 you may have available. + + +=cut diff --git a/ppport.h b/ppport.h new file mode 100644 index 0000000..07c5ddc --- /dev/null +++ b/ppport.h @@ -0,0 +1,7452 @@ +#if 0 +<<'SKIP'; +#endif +/* +---------------------------------------------------------------------- + + ppport.h -- Perl/Pollution/Portability Version 3.21 + + Automatically created by Devel::PPPort running under perl 5.020002. + + Do NOT edit this file directly! -- Edit PPPort_pm.PL and the + includes in parts/inc/ instead. + + Use 'perldoc ppport.h' to view the documentation below. + +---------------------------------------------------------------------- + +SKIP + +=pod + +=head1 NAME + +ppport.h - Perl/Pollution/Portability version 3.21 + +=head1 SYNOPSIS + + perl ppport.h [options] [source files] + + Searches current directory for files if no [source files] are given + + --help show short help + + --version show version + + --patch=file write one patch file with changes + --copy=suffix write changed copies with suffix + --diff=program use diff program and options + + --compat-version=version provide compatibility with Perl version + --cplusplus accept C++ comments + + --quiet don't output anything except fatal errors + --nodiag don't show diagnostics + --nohints don't show hints + --nochanges don't suggest changes + --nofilter don't filter input files + + --strip strip all script and doc functionality from + ppport.h + + --list-provided list provided API + --list-unsupported list unsupported API + --api-info=name show Perl API portability information + +=head1 COMPATIBILITY + +This version of F is designed to support operation with Perl +installations back to 5.003, and has been tested up to 5.11.5. + +=head1 OPTIONS + +=head2 --help + +Display a brief usage summary. + +=head2 --version + +Display the version of F. + +=head2 --patch=I + +If this option is given, a single patch file will be created if +any changes are suggested. This requires a working diff program +to be installed on your system. + +=head2 --copy=I + +If this option is given, a copy of each file will be saved with +the given suffix that contains the suggested changes. This does +not require any external programs. Note that this does not +automagially add a dot between the original filename and the +suffix. If you want the dot, you have to include it in the option +argument. + +If neither C<--patch> or C<--copy> are given, the default is to +simply print the diffs for each file. This requires either +C or a C program to be installed. + +=head2 --diff=I + +Manually set the diff program and options to use. The default +is to use C, when installed, and output unified +context diffs. + +=head2 --compat-version=I + +Tell F to check for compatibility with the given +Perl version. The default is to check for compatibility with Perl +version 5.003. You can use this option to reduce the output +of F if you intend to be backward compatible only +down to a certain Perl version. + +=head2 --cplusplus + +Usually, F will detect C++ style comments and +replace them with C style comments for portability reasons. +Using this option instructs F to leave C++ +comments untouched. + +=head2 --quiet + +Be quiet. Don't print anything except fatal errors. + +=head2 --nodiag + +Don't output any diagnostic messages. Only portability +alerts will be printed. + +=head2 --nohints + +Don't output any hints. Hints often contain useful portability +notes. Warnings will still be displayed. + +=head2 --nochanges + +Don't suggest any changes. Only give diagnostic output and hints +unless these are also deactivated. + +=head2 --nofilter + +Don't filter the list of input files. By default, files not looking +like source code (i.e. not *.xs, *.c, *.cc, *.cpp or *.h) are skipped. + +=head2 --strip + +Strip all script and documentation functionality from F. +This reduces the size of F dramatically and may be useful +if you want to include F in smaller modules without +increasing their distribution size too much. + +The stripped F will have a C<--unstrip> option that allows +you to undo the stripping, but only if an appropriate C +module is installed. + +=head2 --list-provided + +Lists the API elements for which compatibility is provided by +F. Also lists if it must be explicitly requested, +if it has dependencies, and if there are hints or warnings for it. + +=head2 --list-unsupported + +Lists the API elements that are known not to be supported by +F and below which version of Perl they probably +won't be available or work. + +=head2 --api-info=I + +Show portability information for API elements matching I. +If I is surrounded by slashes, it is interpreted as a regular +expression. + +=head1 DESCRIPTION + +In order for a Perl extension (XS) module to be as portable as possible +across differing versions of Perl itself, certain steps need to be taken. + +=over 4 + +=item * + +Including this header is the first major one. This alone will give you +access to a large part of the Perl API that hasn't been available in +earlier Perl releases. Use + + perl ppport.h --list-provided + +to see which API elements are provided by ppport.h. + +=item * + +You should avoid using deprecated parts of the API. For example, using +global Perl variables without the C prefix is deprecated. Also, +some API functions used to have a C prefix. Using this form is +also deprecated. You can safely use the supported API, as F +will provide wrappers for older Perl versions. + +=item * + +If you use one of a few functions or variables that were not present in +earlier versions of Perl, and that can't be provided using a macro, you +have to explicitly request support for these functions by adding one or +more C<#define>s in your source code before the inclusion of F. + +These functions or variables will be marked C in the list shown +by C<--list-provided>. + +Depending on whether you module has a single or multiple files that +use such functions or variables, you want either C or global +variants. + +For a C function or variable (used only in a single source +file), use: + + #define NEED_function + #define NEED_variable + +For a global function or variable (used in multiple source files), +use: + + #define NEED_function_GLOBAL + #define NEED_variable_GLOBAL + +Note that you mustn't have more than one global request for the +same function or variable in your project. + + Function / Variable Static Request Global Request + ----------------------------------------------------------------------------------------- + PL_parser NEED_PL_parser NEED_PL_parser_GLOBAL + PL_signals NEED_PL_signals NEED_PL_signals_GLOBAL + eval_pv() NEED_eval_pv NEED_eval_pv_GLOBAL + grok_bin() NEED_grok_bin NEED_grok_bin_GLOBAL + grok_hex() NEED_grok_hex NEED_grok_hex_GLOBAL + grok_number() NEED_grok_number NEED_grok_number_GLOBAL + grok_numeric_radix() NEED_grok_numeric_radix NEED_grok_numeric_radix_GLOBAL + grok_oct() NEED_grok_oct NEED_grok_oct_GLOBAL + load_module() NEED_load_module NEED_load_module_GLOBAL + my_snprintf() NEED_my_snprintf NEED_my_snprintf_GLOBAL + my_sprintf() NEED_my_sprintf NEED_my_sprintf_GLOBAL + my_strlcat() NEED_my_strlcat NEED_my_strlcat_GLOBAL + my_strlcpy() NEED_my_strlcpy NEED_my_strlcpy_GLOBAL + newCONSTSUB() NEED_newCONSTSUB NEED_newCONSTSUB_GLOBAL + newRV_noinc() NEED_newRV_noinc NEED_newRV_noinc_GLOBAL + newSV_type() NEED_newSV_type NEED_newSV_type_GLOBAL + newSVpvn_flags() NEED_newSVpvn_flags NEED_newSVpvn_flags_GLOBAL + newSVpvn_share() NEED_newSVpvn_share NEED_newSVpvn_share_GLOBAL + pv_display() NEED_pv_display NEED_pv_display_GLOBAL + pv_escape() NEED_pv_escape NEED_pv_escape_GLOBAL + pv_pretty() NEED_pv_pretty NEED_pv_pretty_GLOBAL + sv_2pv_flags() NEED_sv_2pv_flags NEED_sv_2pv_flags_GLOBAL + sv_2pvbyte() NEED_sv_2pvbyte NEED_sv_2pvbyte_GLOBAL + sv_catpvf_mg() NEED_sv_catpvf_mg NEED_sv_catpvf_mg_GLOBAL + sv_catpvf_mg_nocontext() NEED_sv_catpvf_mg_nocontext NEED_sv_catpvf_mg_nocontext_GLOBAL + sv_pvn_force_flags() NEED_sv_pvn_force_flags NEED_sv_pvn_force_flags_GLOBAL + sv_setpvf_mg() NEED_sv_setpvf_mg NEED_sv_setpvf_mg_GLOBAL + sv_setpvf_mg_nocontext() NEED_sv_setpvf_mg_nocontext NEED_sv_setpvf_mg_nocontext_GLOBAL + vload_module() NEED_vload_module NEED_vload_module_GLOBAL + vnewSVpvf() NEED_vnewSVpvf NEED_vnewSVpvf_GLOBAL + warner() NEED_warner NEED_warner_GLOBAL + +To avoid namespace conflicts, you can change the namespace of the +explicitly exported functions / variables using the C +macro. Just C<#define> the macro before including C: + + #define DPPP_NAMESPACE MyOwnNamespace_ + #include "ppport.h" + +The default namespace is C. + +=back + +The good thing is that most of the above can be checked by running +F on your source code. See the next section for +details. + +=head1 EXAMPLES + +To verify whether F is needed for your module, whether you +should make any changes to your code, and whether any special defines +should be used, F can be run as a Perl script to check your +source code. Simply say: + + perl ppport.h + +The result will usually be a list of patches suggesting changes +that should at least be acceptable, if not necessarily the most +efficient solution, or a fix for all possible problems. + +If you know that your XS module uses features only available in +newer Perl releases, if you're aware that it uses C++ comments, +and if you want all suggestions as a single patch file, you could +use something like this: + + perl ppport.h --compat-version=5.6.0 --cplusplus --patch=test.diff + +If you only want your code to be scanned without any suggestions +for changes, use: + + perl ppport.h --nochanges + +You can specify a different C program or options, using +the C<--diff> option: + + perl ppport.h --diff='diff -C 10' + +This would output context diffs with 10 lines of context. + +If you want to create patched copies of your files instead, use: + + perl ppport.h --copy=.new + +To display portability information for the C function, +use: + + perl ppport.h --api-info=newSVpvn + +Since the argument to C<--api-info> can be a regular expression, +you can use + + perl ppport.h --api-info=/_nomg$/ + +to display portability information for all C<_nomg> functions or + + perl ppport.h --api-info=/./ + +to display information for all known API elements. + +=head1 BUGS + +If this version of F is causing failure during +the compilation of this module, please check if newer versions +of either this module or C are available on CPAN +before sending a bug report. + +If F was generated using the latest version of +C and is causing failure of this module, please +file a bug report using the CPAN Request Tracker at L. + +Please include the following information: + +=over 4 + +=item 1. + +The complete output from running "perl -V" + +=item 2. + +This file. + +=item 3. + +The name and version of the module you were trying to build. + +=item 4. + +A full log of the build that failed. + +=item 5. + +Any other information that you think could be relevant. + +=back + +For the latest version of this code, please get the C +module from CPAN. + +=head1 COPYRIGHT + +Version 3.x, Copyright (c) 2004-2013, Marcus Holland-Moritz. + +Version 2.x, Copyright (C) 2001, Paul Marquess. + +Version 1.x, Copyright (C) 1999, Kenneth Albanowski. + +This program is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +=head1 SEE ALSO + +See L. + +=cut + +use strict; + +# Disable broken TRIE-optimization +BEGIN { eval '${^RE_TRIE_MAXBUF} = -1' if $] >= 5.009004 && $] <= 5.009005 } + +my $VERSION = 3.21; + +my %opt = ( + quiet => 0, + diag => 1, + hints => 1, + changes => 1, + cplusplus => 0, + filter => 1, + strip => 0, + version => 0, +); + +my($ppport) = $0 =~ /([\w.]+)$/; +my $LF = '(?:\r\n|[\r\n])'; # line feed +my $HS = "[ \t]"; # horizontal whitespace + +# Never use C comments in this file! +my $ccs = '/'.'*'; +my $cce = '*'.'/'; +my $rccs = quotemeta $ccs; +my $rcce = quotemeta $cce; + +eval { + require Getopt::Long; + Getopt::Long::GetOptions(\%opt, qw( + help quiet diag! filter! hints! changes! cplusplus strip version + patch=s copy=s diff=s compat-version=s + list-provided list-unsupported api-info=s + )) or usage(); +}; + +if ($@ and grep /^-/, @ARGV) { + usage() if "@ARGV" =~ /^--?h(?:elp)?$/; + die "Getopt::Long not found. Please don't use any options.\n"; +} + +if ($opt{version}) { + print "This is $0 $VERSION.\n"; + exit 0; +} + +usage() if $opt{help}; +strip() if $opt{strip}; + +if (exists $opt{'compat-version'}) { + my($r,$v,$s) = eval { parse_version($opt{'compat-version'}) }; + if ($@) { + die "Invalid version number format: '$opt{'compat-version'}'\n"; + } + die "Only Perl 5 is supported\n" if $r != 5; + die "Invalid version number: $opt{'compat-version'}\n" if $v >= 1000 || $s >= 1000; + $opt{'compat-version'} = sprintf "%d.%03d%03d", $r, $v, $s; +} +else { + $opt{'compat-version'} = 5; +} + +my %API = map { /^(\w+)\|([^|]*)\|([^|]*)\|(\w*)$/ + ? ( $1 => { + ($2 ? ( base => $2 ) : ()), + ($3 ? ( todo => $3 ) : ()), + (index($4, 'v') >= 0 ? ( varargs => 1 ) : ()), + (index($4, 'p') >= 0 ? ( provided => 1 ) : ()), + (index($4, 'n') >= 0 ? ( nothxarg => 1 ) : ()), + } ) + : die "invalid spec: $_" } qw( +AvFILLp|5.004050||p +AvFILL||| +BhkDISABLE||5.019003| +BhkENABLE||5.019003| +BhkENTRY_set||5.019003| +BhkENTRY||| +BhkFLAGS||| +CALL_BLOCK_HOOKS||| +CLASS|||n +CPERLscope|5.005000||p +CX_CURPAD_SAVE||| +CX_CURPAD_SV||| +CopFILEAV|5.006000||p +CopFILEGV_set|5.006000||p +CopFILEGV|5.006000||p +CopFILESV|5.006000||p +CopFILE_set|5.006000||p +CopFILE|5.006000||p +CopSTASHPV_set|5.006000||p +CopSTASHPV|5.006000||p +CopSTASH_eq|5.006000||p +CopSTASH_set|5.006000||p +CopSTASH|5.006000||p +CopyD|5.009002|5.004050|p +Copy||5.004050| +CvPADLIST||5.008001| +CvSTASH||| +CvWEAKOUTSIDE||| +DEFSV_set|5.010001||p +DEFSV|5.004050||p +END_EXTERN_C|5.005000||p +ENTER||| +ERRSV|5.004050||p +EXTEND||| +EXTERN_C|5.005000||p +F0convert|||n +FREETMPS||| +GIMME_V||5.004000|n +GIMME|||n +GROK_NUMERIC_RADIX|5.007002||p +G_ARRAY||| +G_DISCARD||| +G_EVAL||| +G_METHOD|5.006001||p +G_NOARGS||| +G_SCALAR||| +G_VOID||5.004000| +GetVars||| +GvAV||| +GvCV||| +GvHV||| +GvSVn|5.009003||p +GvSV||| +Gv_AMupdate||5.011000| +HEf_SVKEY||5.004000| +HeHASH||5.004000| +HeKEY||5.004000| +HeKLEN||5.004000| +HePV||5.004000| +HeSVKEY_force||5.004000| +HeSVKEY_set||5.004000| +HeSVKEY||5.004000| +HeUTF8||5.010001| +HeVAL||5.004000| +HvENAMELEN||5.015004| +HvENAMEUTF8||5.015004| +HvENAME||5.013007| +HvNAMELEN_get|5.009003||p +HvNAMELEN||5.015004| +HvNAMEUTF8||5.015004| +HvNAME_get|5.009003||p +HvNAME||| +INT2PTR|5.006000||p +IN_LOCALE_COMPILETIME|5.007002||p +IN_LOCALE_RUNTIME|5.007002||p +IN_LOCALE|5.007002||p +IN_PERL_COMPILETIME|5.008001||p +IS_NUMBER_GREATER_THAN_UV_MAX|5.007002||p +IS_NUMBER_INFINITY|5.007002||p +IS_NUMBER_IN_UV|5.007002||p +IS_NUMBER_NAN|5.007003||p +IS_NUMBER_NEG|5.007002||p +IS_NUMBER_NOT_INT|5.007002||p +IVSIZE|5.006000||p +IVTYPE|5.006000||p +IVdf|5.006000||p +LEAVE||| +LINKLIST||5.013006| +LVRET||| +MARK||| +MULTICALL||5.019003| +MY_CXT_CLONE|5.009002||p +MY_CXT_INIT|5.007003||p +MY_CXT|5.007003||p +MoveD|5.009002|5.004050|p +Move||5.004050| +NOOP|5.005000||p +NUM2PTR|5.006000||p +NVTYPE|5.006000||p +NVef|5.006001||p +NVff|5.006001||p +NVgf|5.006001||p +Newxc|5.009003||p +Newxz|5.009003||p +Newx|5.009003||p +Nullav||| +Nullch||| +Nullcv||| +Nullhv||| +Nullsv||| +OP_CLASS||5.013007| +OP_DESC||5.007003| +OP_NAME||5.007003| +ORIGMARK||| +PAD_BASE_SV||| +PAD_CLONE_VARS||| +PAD_COMPNAME_FLAGS||| +PAD_COMPNAME_GEN_set||| +PAD_COMPNAME_GEN||| +PAD_COMPNAME_OURSTASH||| +PAD_COMPNAME_PV||| +PAD_COMPNAME_TYPE||| +PAD_RESTORE_LOCAL||| +PAD_SAVE_LOCAL||| +PAD_SAVE_SETNULLPAD||| +PAD_SETSV||| +PAD_SET_CUR_NOSAVE||| +PAD_SET_CUR||| +PAD_SVl||| +PAD_SV||| +PERLIO_FUNCS_CAST|5.009003||p +PERLIO_FUNCS_DECL|5.009003||p +PERL_ABS|5.008001||p +PERL_BCDVERSION|5.019002||p +PERL_GCC_BRACE_GROUPS_FORBIDDEN|5.008001||p +PERL_HASH|5.004000||p +PERL_INT_MAX|5.004000||p +PERL_INT_MIN|5.004000||p +PERL_LONG_MAX|5.004000||p +PERL_LONG_MIN|5.004000||p +PERL_MAGIC_arylen|5.007002||p +PERL_MAGIC_backref|5.007002||p +PERL_MAGIC_bm|5.007002||p +PERL_MAGIC_collxfrm|5.007002||p +PERL_MAGIC_dbfile|5.007002||p +PERL_MAGIC_dbline|5.007002||p +PERL_MAGIC_defelem|5.007002||p +PERL_MAGIC_envelem|5.007002||p +PERL_MAGIC_env|5.007002||p +PERL_MAGIC_ext|5.007002||p +PERL_MAGIC_fm|5.007002||p +PERL_MAGIC_glob|5.019002||p +PERL_MAGIC_isaelem|5.007002||p +PERL_MAGIC_isa|5.007002||p +PERL_MAGIC_mutex|5.019002||p +PERL_MAGIC_nkeys|5.007002||p +PERL_MAGIC_overload_elem|5.019002||p +PERL_MAGIC_overload_table|5.007002||p +PERL_MAGIC_overload|5.019002||p +PERL_MAGIC_pos|5.007002||p +PERL_MAGIC_qr|5.007002||p +PERL_MAGIC_regdata|5.007002||p +PERL_MAGIC_regdatum|5.007002||p +PERL_MAGIC_regex_global|5.007002||p +PERL_MAGIC_shared_scalar|5.007003||p +PERL_MAGIC_shared|5.007003||p +PERL_MAGIC_sigelem|5.007002||p +PERL_MAGIC_sig|5.007002||p +PERL_MAGIC_substr|5.007002||p +PERL_MAGIC_sv|5.007002||p +PERL_MAGIC_taint|5.007002||p +PERL_MAGIC_tiedelem|5.007002||p +PERL_MAGIC_tiedscalar|5.007002||p +PERL_MAGIC_tied|5.007002||p +PERL_MAGIC_utf8|5.008001||p +PERL_MAGIC_uvar_elem|5.007003||p +PERL_MAGIC_uvar|5.007002||p +PERL_MAGIC_vec|5.007002||p +PERL_MAGIC_vstring|5.008001||p +PERL_PV_ESCAPE_ALL|5.009004||p +PERL_PV_ESCAPE_FIRSTCHAR|5.009004||p +PERL_PV_ESCAPE_NOBACKSLASH|5.009004||p +PERL_PV_ESCAPE_NOCLEAR|5.009004||p +PERL_PV_ESCAPE_QUOTE|5.009004||p +PERL_PV_ESCAPE_RE|5.009005||p +PERL_PV_ESCAPE_UNI_DETECT|5.009004||p +PERL_PV_ESCAPE_UNI|5.009004||p +PERL_PV_PRETTY_DUMP|5.009004||p +PERL_PV_PRETTY_ELLIPSES|5.010000||p +PERL_PV_PRETTY_LTGT|5.009004||p +PERL_PV_PRETTY_NOCLEAR|5.010000||p +PERL_PV_PRETTY_QUOTE|5.009004||p +PERL_PV_PRETTY_REGPROP|5.009004||p +PERL_QUAD_MAX|5.004000||p +PERL_QUAD_MIN|5.004000||p +PERL_REVISION|5.006000||p +PERL_SCAN_ALLOW_UNDERSCORES|5.007003||p +PERL_SCAN_DISALLOW_PREFIX|5.007003||p +PERL_SCAN_GREATER_THAN_UV_MAX|5.007003||p +PERL_SCAN_SILENT_ILLDIGIT|5.008001||p +PERL_SHORT_MAX|5.004000||p +PERL_SHORT_MIN|5.004000||p +PERL_SIGNALS_UNSAFE_FLAG|5.008001||p +PERL_SUBVERSION|5.006000||p +PERL_SYS_INIT3||5.010000| +PERL_SYS_INIT||5.010000| +PERL_SYS_TERM||5.019003| +PERL_UCHAR_MAX|5.004000||p +PERL_UCHAR_MIN|5.004000||p +PERL_UINT_MAX|5.004000||p +PERL_UINT_MIN|5.004000||p +PERL_ULONG_MAX|5.004000||p +PERL_ULONG_MIN|5.004000||p +PERL_UNUSED_ARG|5.009003||p +PERL_UNUSED_CONTEXT|5.009004||p +PERL_UNUSED_DECL|5.007002||p +PERL_UNUSED_VAR|5.007002||p +PERL_UQUAD_MAX|5.004000||p +PERL_UQUAD_MIN|5.004000||p +PERL_USE_GCC_BRACE_GROUPS|5.009004||p +PERL_USHORT_MAX|5.004000||p +PERL_USHORT_MIN|5.004000||p +PERL_VERSION|5.006000||p +PL_DBsignal|5.005000||p +PL_DBsingle|||pn +PL_DBsub|||pn +PL_DBtrace|||pn +PL_Sv|5.005000||p +PL_bufend|5.019002||p +PL_bufptr|5.019002||p +PL_check||5.006000| +PL_compiling|5.004050||p +PL_comppad_name||5.017004| +PL_comppad||5.008001| +PL_copline|5.019002||p +PL_curcop|5.004050||p +PL_curpad||5.005000| +PL_curstash|5.004050||p +PL_debstash|5.004050||p +PL_defgv|5.004050||p +PL_diehook|5.004050||p +PL_dirty|5.004050||p +PL_dowarn|||pn +PL_errgv|5.004050||p +PL_error_count|5.019002||p +PL_expect|5.019002||p +PL_hexdigit|5.005000||p +PL_hints|5.005000||p +PL_in_my_stash|5.019002||p +PL_in_my|5.019002||p +PL_keyword_plugin||5.011002| +PL_last_in_gv|||n +PL_laststatval|5.005000||p +PL_lex_state|5.019002||p +PL_lex_stuff|5.019002||p +PL_linestr|5.019002||p +PL_modglobal||5.005000|n +PL_na|5.004050||pn +PL_no_modify|5.006000||p +PL_ofsgv|||n +PL_opfreehook||5.011000|n +PL_parser|5.009005|5.009005|p +PL_peepp||5.007003|n +PL_perl_destruct_level|5.004050||p +PL_perldb|5.004050||p +PL_ppaddr|5.006000||p +PL_rpeepp||5.013005|n +PL_rsfp_filters|5.019002||p +PL_rsfp|5.019002||p +PL_rs|||n +PL_signals|5.008001||p +PL_stack_base|5.004050||p +PL_stack_sp|5.004050||p +PL_statcache|5.005000||p +PL_stdingv|5.004050||p +PL_sv_arenaroot|5.004050||p +PL_sv_no|5.004050||pn +PL_sv_undef|5.004050||pn +PL_sv_yes|5.004050||pn +PL_tainted|5.004050||p +PL_tainting|5.004050||p +PL_tokenbuf|5.019002||p +POP_MULTICALL||5.019003| +POPi|||n +POPl|||n +POPn|||n +POPpbytex||5.007001|n +POPpx||5.005030|n +POPp|||n +POPs|||n +PTR2IV|5.006000||p +PTR2NV|5.006000||p +PTR2UV|5.006000||p +PTR2nat|5.009003||p +PTR2ul|5.007001||p +PTRV|5.006000||p +PUSHMARK||| +PUSH_MULTICALL||5.019003| +PUSHi||| +PUSHmortal|5.009002||p +PUSHn||| +PUSHp||| +PUSHs||| +PUSHu|5.004000||p +PUTBACK||| +PadARRAY||5.019003| +PadMAX||5.019003| +PadlistARRAY||5.019003| +PadlistMAX||5.019003| +PadlistNAMESARRAY||5.019003| +PadlistNAMESMAX||5.019003| +PadlistNAMES||5.019003| +PadlistREFCNT||5.017004| +PadnameIsOUR||| +PadnameIsSTATE||| +PadnameLEN||5.019003| +PadnameOURSTASH||| +PadnameOUTER||| +PadnamePV||5.019003| +PadnameSV||5.019003| +PadnameTYPE||| +PadnameUTF8||5.019003| +PadnamelistARRAY||5.019003| +PadnamelistMAX||5.019003| +PerlIO_clearerr||5.007003| +PerlIO_close||5.007003| +PerlIO_context_layers||5.009004| +PerlIO_eof||5.007003| +PerlIO_error||5.007003| +PerlIO_fileno||5.007003| +PerlIO_fill||5.007003| +PerlIO_flush||5.007003| +PerlIO_get_base||5.007003| +PerlIO_get_bufsiz||5.007003| +PerlIO_get_cnt||5.007003| +PerlIO_get_ptr||5.007003| +PerlIO_read||5.007003| +PerlIO_seek||5.007003| +PerlIO_set_cnt||5.007003| +PerlIO_set_ptrcnt||5.007003| +PerlIO_setlinebuf||5.007003| +PerlIO_stderr||5.007003| +PerlIO_stdin||5.007003| +PerlIO_stdout||5.007003| +PerlIO_tell||5.007003| +PerlIO_unread||5.007003| +PerlIO_write||5.007003| +Perl_signbit||5.009005|n +PoisonFree|5.009004||p +PoisonNew|5.009004||p +PoisonWith|5.009004||p +Poison|5.008000||p +READ_XDIGIT||5.017006| +RETVAL|||n +Renewc||| +Renew||| +SAVECLEARSV||| +SAVECOMPPAD||| +SAVEPADSV||| +SAVETMPS||| +SAVE_DEFSV|5.004050||p +SPAGAIN||| +SP||| +START_EXTERN_C|5.005000||p +START_MY_CXT|5.007003||p +STMT_END|||p +STMT_START|||p +STR_WITH_LEN|5.009003||p +ST||| +SV_CONST_RETURN|5.009003||p +SV_COW_DROP_PV|5.008001||p +SV_COW_SHARED_HASH_KEYS|5.009005||p +SV_GMAGIC|5.007002||p +SV_HAS_TRAILING_NUL|5.009004||p +SV_IMMEDIATE_UNREF|5.007001||p +SV_MUTABLE_RETURN|5.009003||p +SV_NOSTEAL|5.009002||p +SV_SMAGIC|5.009003||p +SV_UTF8_NO_ENCODING|5.008001||p +SVfARG|5.009005||p +SVf_UTF8|5.006000||p +SVf|5.006000||p +SVt_INVLIST||5.019002| +SVt_IV||| +SVt_NULL||| +SVt_NV||| +SVt_PVAV||| +SVt_PVCV||| +SVt_PVFM||| +SVt_PVGV||| +SVt_PVHV||| +SVt_PVIO||| +SVt_PVIV||| +SVt_PVLV||| +SVt_PVMG||| +SVt_PVNV||| +SVt_PV||| +SVt_REGEXP||5.011000| +Safefree||| +Slab_Alloc||| +Slab_Free||| +Slab_to_ro||| +Slab_to_rw||| +StructCopy||| +SvCUR_set||| +SvCUR||| +SvEND||| +SvGAMAGIC||5.006001| +SvGETMAGIC|5.004050||p +SvGROW||| +SvIOK_UV||5.006000| +SvIOK_notUV||5.006000| +SvIOK_off||| +SvIOK_only_UV||5.006000| +SvIOK_only||| +SvIOK_on||| +SvIOKp||| +SvIOK||| +SvIVX||| +SvIV_nomg|5.009001||p +SvIV_set||| +SvIVx||| +SvIV||| +SvIsCOW_shared_hash||5.008003| +SvIsCOW||5.008003| +SvLEN_set||| +SvLEN||| +SvLOCK||5.007003| +SvMAGIC_set|5.009003||p +SvNIOK_off||| +SvNIOKp||| +SvNIOK||| +SvNOK_off||| +SvNOK_only||| +SvNOK_on||| +SvNOKp||| +SvNOK||| +SvNVX||| +SvNV_nomg||5.013002| +SvNV_set||| +SvNVx||| +SvNV||| +SvOK||| +SvOOK_offset||5.011000| +SvOOK||| +SvPOK_off||| +SvPOK_only_UTF8||5.006000| +SvPOK_only||| +SvPOK_on||| +SvPOKp||| +SvPOK||| +SvPVX_const|5.009003||p +SvPVX_mutable|5.009003||p +SvPVX||| +SvPV_const|5.009003||p +SvPV_flags_const_nolen|5.009003||p +SvPV_flags_const|5.009003||p +SvPV_flags_mutable|5.009003||p +SvPV_flags|5.007002||p +SvPV_force_flags_mutable|5.009003||p +SvPV_force_flags_nolen|5.009003||p +SvPV_force_flags|5.007002||p +SvPV_force_mutable|5.009003||p +SvPV_force_nolen|5.009003||p +SvPV_force_nomg_nolen|5.009003||p +SvPV_force_nomg|5.007002||p +SvPV_force|||p +SvPV_mutable|5.009003||p +SvPV_nolen_const|5.009003||p +SvPV_nolen|5.006000||p +SvPV_nomg_const_nolen|5.009003||p +SvPV_nomg_const|5.009003||p +SvPV_nomg_nolen|5.013007||p +SvPV_nomg|5.007002||p +SvPV_renew|5.009003||p +SvPV_set||| +SvPVbyte_force||5.009002| +SvPVbyte_nolen||5.006000| +SvPVbytex_force||5.006000| +SvPVbytex||5.006000| +SvPVbyte|5.006000||p +SvPVutf8_force||5.006000| +SvPVutf8_nolen||5.006000| +SvPVutf8x_force||5.006000| +SvPVutf8x||5.006000| +SvPVutf8||5.006000| +SvPVx||| +SvPV||| +SvREFCNT_dec_NN||5.017007| +SvREFCNT_dec||| +SvREFCNT_inc_NN|5.009004||p +SvREFCNT_inc_simple_NN|5.009004||p +SvREFCNT_inc_simple_void_NN|5.009004||p +SvREFCNT_inc_simple_void|5.009004||p +SvREFCNT_inc_simple|5.009004||p +SvREFCNT_inc_void_NN|5.009004||p +SvREFCNT_inc_void|5.009004||p +SvREFCNT_inc|||p +SvREFCNT||| +SvROK_off||| +SvROK_on||| +SvROK||| +SvRV_set|5.009003||p +SvRV||| +SvRXOK||5.009005| +SvRX||5.009005| +SvSETMAGIC||| +SvSHARED_HASH|5.009003||p +SvSHARE||5.007003| +SvSTASH_set|5.009003||p +SvSTASH||| +SvSetMagicSV_nosteal||5.004000| +SvSetMagicSV||5.004000| +SvSetSV_nosteal||5.004000| +SvSetSV||| +SvTAINTED_off||5.004000| +SvTAINTED_on||5.004000| +SvTAINTED||5.004000| +SvTAINT||| +SvTHINKFIRST||| +SvTRUE_nomg||5.013006| +SvTRUE||| +SvTYPE||| +SvUNLOCK||5.007003| +SvUOK|5.007001|5.006000|p +SvUPGRADE||| +SvUTF8_off||5.006000| +SvUTF8_on||5.006000| +SvUTF8||5.006000| +SvUVXx|5.004000||p +SvUVX|5.004000||p +SvUV_nomg|5.009001||p +SvUV_set|5.009003||p +SvUVx|5.004000||p +SvUV|5.004000||p +SvVOK||5.008001| +SvVSTRING_mg|5.009004||p +THIS|||n +UNDERBAR|5.009002||p +UTF8_MAXBYTES|5.009002||p +UVSIZE|5.006000||p +UVTYPE|5.006000||p +UVXf|5.007001||p +UVof|5.006000||p +UVuf|5.006000||p +UVxf|5.006000||p +WARN_ALL|5.006000||p +WARN_AMBIGUOUS|5.006000||p +WARN_ASSERTIONS|5.019002||p +WARN_BAREWORD|5.006000||p +WARN_CLOSED|5.006000||p +WARN_CLOSURE|5.006000||p +WARN_DEBUGGING|5.006000||p +WARN_DEPRECATED|5.006000||p +WARN_DIGIT|5.006000||p +WARN_EXEC|5.006000||p +WARN_EXITING|5.006000||p +WARN_GLOB|5.006000||p +WARN_INPLACE|5.006000||p +WARN_INTERNAL|5.006000||p +WARN_IO|5.006000||p +WARN_LAYER|5.008000||p +WARN_MALLOC|5.006000||p +WARN_MISC|5.006000||p +WARN_NEWLINE|5.006000||p +WARN_NUMERIC|5.006000||p +WARN_ONCE|5.006000||p +WARN_OVERFLOW|5.006000||p +WARN_PACK|5.006000||p +WARN_PARENTHESIS|5.006000||p +WARN_PIPE|5.006000||p +WARN_PORTABLE|5.006000||p +WARN_PRECEDENCE|5.006000||p +WARN_PRINTF|5.006000||p +WARN_PROTOTYPE|5.006000||p +WARN_QW|5.006000||p +WARN_RECURSION|5.006000||p +WARN_REDEFINE|5.006000||p +WARN_REGEXP|5.006000||p +WARN_RESERVED|5.006000||p +WARN_SEMICOLON|5.006000||p +WARN_SEVERE|5.006000||p +WARN_SIGNAL|5.006000||p +WARN_SUBSTR|5.006000||p +WARN_SYNTAX|5.006000||p +WARN_TAINT|5.006000||p +WARN_THREADS|5.008000||p +WARN_UNINITIALIZED|5.006000||p +WARN_UNOPENED|5.006000||p +WARN_UNPACK|5.006000||p +WARN_UNTIE|5.006000||p +WARN_UTF8|5.006000||p +WARN_VOID|5.006000||p +WIDEST_UTYPE|5.015004||p +XCPT_CATCH|5.009002||p +XCPT_RETHROW|5.009002|5.007001|p +XCPT_TRY_END|5.009002|5.004000|p +XCPT_TRY_START|5.009002|5.004000|p +XPUSHi||| +XPUSHmortal|5.009002||p +XPUSHn||| +XPUSHp||| +XPUSHs||| +XPUSHu|5.004000||p +XSPROTO|5.010000||p +XSRETURN_EMPTY||| +XSRETURN_IV||| +XSRETURN_NO||| +XSRETURN_NV||| +XSRETURN_PV||| +XSRETURN_UNDEF||| +XSRETURN_UV|5.008001||p +XSRETURN_YES||| +XSRETURN|||p +XST_mIV||| +XST_mNO||| +XST_mNV||| +XST_mPV||| +XST_mUNDEF||| +XST_mUV|5.008001||p +XST_mYES||| +XS_APIVERSION_BOOTCHECK||5.013004| +XS_EXTERNAL||5.019003| +XS_INTERNAL||5.019003| +XS_VERSION_BOOTCHECK||| +XS_VERSION||| +XSprePUSH|5.006000||p +XS||| +XopDISABLE||5.019003| +XopENABLE||5.019003| +XopENTRY_set||5.019003| +XopENTRY||5.019003| +XopFLAGS||5.013007| +ZeroD|5.009002||p +Zero||| +_aMY_CXT|5.007003||p +_add_range_to_invlist||| +_append_range_to_invlist||| +_core_swash_init||| +_get_swash_invlist||| +_invlist_array_init||| +_invlist_contains_cp||| +_invlist_contents||| +_invlist_dump||| +_invlist_intersection_maybe_complement_2nd||| +_invlist_intersection||| +_invlist_invert_prop||| +_invlist_invert||| +_invlist_len||| +_invlist_populate_swatch||| +_invlist_search||| +_invlist_subtract||| +_invlist_union_maybe_complement_2nd||| +_invlist_union||| +_is_uni_FOO||5.017008| +_is_uni_perl_idcont||5.017008| +_is_uni_perl_idstart||5.017007| +_is_utf8_FOO||5.017008| +_is_utf8_mark||5.017008| +_is_utf8_perl_idcont||5.017008| +_is_utf8_perl_idstart||5.017007| +_new_invlist_C_array||| +_new_invlist||| +_pMY_CXT|5.007003||p +_swash_inversion_hash||| +_swash_to_invlist||| +_to_fold_latin1||| +_to_uni_fold_flags||5.013011| +_to_upper_title_latin1||| +_to_utf8_fold_flags||5.015006| +_to_utf8_lower_flags||5.015006| +_to_utf8_title_flags||5.015006| +_to_utf8_upper_flags||5.015006| +aMY_CXT_|5.007003||p +aMY_CXT|5.007003||p +aTHXR_|5.019002||p +aTHXR|5.019002||p +aTHX_|5.006000||p +aTHX|5.006000||p +aassign_common_vars||| +add_cp_to_invlist||| +add_data|||n +add_utf16_textfilter||| +addmad||| +adjust_size_and_find_bucket|||n +adjust_stack_on_leave||| +alloc_maybe_populate_EXACT||| +alloccopstash||| +allocmy||| +amagic_call||| +amagic_cmp_locale||| +amagic_cmp||| +amagic_deref_call||5.013007| +amagic_i_ncmp||| +amagic_is_enabled||| +amagic_ncmp||| +anonymise_cv_maybe||| +any_dup||| +ao||| +append_madprops||| +apply_attrs_my||| +apply_attrs_string||5.006001| +apply_attrs||| +apply||| +assert_uft8_cache_coherent||| +atfork_lock||5.007003|n +atfork_unlock||5.007003|n +av_arylen_p||5.009003| +av_clear||| +av_create_and_push||5.009005| +av_create_and_unshift_one||5.009005| +av_delete||5.006000| +av_exists||5.006000| +av_extend_guts||| +av_extend||| +av_fetch||| +av_fill||| +av_iter_p||5.011000| +av_len||| +av_make||| +av_pop||| +av_push||| +av_reify||| +av_shift||| +av_store||| +av_tindex||5.017009| +av_top_index||5.017009| +av_undef||| +av_unshift||| +ax|||n +bad_type_gv||| +bad_type_pv||| +bind_match||| +block_end||| +block_gimme||5.004000| +block_start||| +blockhook_register||5.013003| +boolSV|5.004000||p +boot_core_PerlIO||| +boot_core_UNIVERSAL||| +boot_core_mro||| +bytes_cmp_utf8||5.013007| +bytes_from_utf8||5.007001| +bytes_to_uni|||n +bytes_to_utf8||5.006001| +call_argv|5.006000||p +call_atexit||5.006000| +call_list||5.004000| +call_method|5.006000||p +call_pv|5.006000||p +call_sv|5.006000||p +caller_cx||5.013005| +calloc||5.007002|n +cando||| +cast_i32||5.006000| +cast_iv||5.006000| +cast_ulong||5.006000| +cast_uv||5.006000| +check_locale_boundary_crossing||| +check_type_and_open||| +check_uni||| +check_utf8_print||| +checkcomma||| +ckWARN|5.006000||p +ck_entersub_args_core||| +ck_entersub_args_list||5.013006| +ck_entersub_args_proto_or_list||5.013006| +ck_entersub_args_proto||5.013006| +ck_warner_d||5.011001|v +ck_warner||5.011001|v +ckwarn_common||| +ckwarn_d||5.009003| +ckwarn||5.009003| +cl_and|||n +cl_anything|||n +cl_init|||n +cl_is_anything|||n +cl_or|||n +clear_placeholders||| +clone_params_del|||n +clone_params_new|||n +closest_cop||| +compute_EXACTish||| +convert||| +cop_fetch_label||5.015001| +cop_free||| +cop_hints_2hv||5.013007| +cop_hints_fetch_pvn||5.013007| +cop_hints_fetch_pvs||5.013007| +cop_hints_fetch_pv||5.013007| +cop_hints_fetch_sv||5.013007| +cop_store_label||5.015001| +cophh_2hv||5.013007| +cophh_copy||5.013007| +cophh_delete_pvn||5.013007| +cophh_delete_pvs||5.013007| +cophh_delete_pv||5.013007| +cophh_delete_sv||5.013007| +cophh_fetch_pvn||5.013007| +cophh_fetch_pvs||5.013007| +cophh_fetch_pv||5.013007| +cophh_fetch_sv||5.013007| +cophh_free||5.013007| +cophh_new_empty||5.019003| +cophh_store_pvn||5.013007| +cophh_store_pvs||5.013007| +cophh_store_pv||5.013007| +cophh_store_sv||5.013007| +core_prototype||| +core_regclass_swash||| +coresub_op||| +could_it_be_a_POSIX_class||| +cr_textfilter||| +create_eval_scope||| +croak_memory_wrap||5.019003|n +croak_no_mem|||n +croak_no_modify||5.013003|n +croak_nocontext|||vn +croak_popstack|||n +croak_sv||5.013001| +croak_xs_usage||5.010001|n +croak|||v +csighandler||5.009003|n +curmad||| +current_re_engine||| +curse||| +custom_op_desc||5.007003| +custom_op_name||5.007003| +custom_op_register||5.013007| +custom_op_xop||5.013007| +cv_ckproto_len_flags||| +cv_clone_into||| +cv_clone||| +cv_const_sv_or_av||| +cv_const_sv||5.004000| +cv_dump||| +cv_forget_slab||| +cv_get_call_checker||5.013006| +cv_set_call_checker||5.013006| +cv_undef||| +cvgv_set||| +cvstash_set||| +cx_dump||5.005000| +cx_dup||| +cxinc||| +dAXMARK|5.009003||p +dAX|5.007002||p +dITEMS|5.007002||p +dMARK||| +dMULTICALL||5.009003| +dMY_CXT_SV|5.007003||p +dMY_CXT|5.007003||p +dNOOP|5.006000||p +dORIGMARK||| +dSP||| +dTHR|5.004050||p +dTHXR|5.019002||p +dTHXa|5.006000||p +dTHXoa|5.006000||p +dTHX|5.006000||p +dUNDERBAR|5.009002||p +dVAR|5.009003||p +dXCPT|5.009002||p +dXSARGS||| +dXSI32||| +dXSTARG|5.006000||p +deb_curcv||| +deb_nocontext|||vn +deb_stack_all||| +deb_stack_n||| +debop||5.005000| +debprofdump||5.005000| +debprof||| +debstackptrs||5.007003| +debstack||5.007003| +debug_start_match||| +deb||5.007003|v +defelem_target||| +del_sv||| +delete_eval_scope||| +delimcpy||5.004000|n +deprecate_commaless_var_list||| +despatch_signals||5.007001| +destroy_matcher||| +die_nocontext|||vn +die_sv||5.013001| +die_unwind||| +die|||v +dirp_dup||| +div128||| +djSP||| +do_aexec5||| +do_aexec||| +do_aspawn||| +do_binmode||5.004050| +do_chomp||| +do_close||| +do_delete_local||| +do_dump_pad||| +do_eof||| +do_exec3||| +do_execfree||| +do_exec||| +do_gv_dump||5.006000| +do_gvgv_dump||5.006000| +do_hv_dump||5.006000| +do_ipcctl||| +do_ipcget||| +do_join||| +do_magic_dump||5.006000| +do_msgrcv||| +do_msgsnd||| +do_ncmp||| +do_oddball||| +do_op_dump||5.006000| +do_op_xmldump||| +do_open9||5.006000| +do_openn||5.007001| +do_open||5.004000| +do_pmop_dump||5.006000| +do_pmop_xmldump||| +do_print||| +do_readline||| +do_seek||| +do_semop||| +do_shmio||| +do_smartmatch||| +do_spawn_nowait||| +do_spawn||| +do_sprintf||| +do_sv_dump||5.006000| +do_sysseek||| +do_tell||| +do_trans_complex_utf8||| +do_trans_complex||| +do_trans_count_utf8||| +do_trans_count||| +do_trans_simple_utf8||| +do_trans_simple||| +do_trans||| +do_vecget||| +do_vecset||| +do_vop||| +docatch||| +doeval||| +dofile||| +dofindlabel||| +doform||| +doing_taint||5.008001|n +dooneliner||| +doopen_pm||| +doparseform||| +dopoptoeval||| +dopoptogiven||| +dopoptolabel||| +dopoptoloop||| +dopoptosub_at||| +dopoptowhen||| +doref||5.009003| +dounwind||| +dowantarray||| +dump_all_perl||| +dump_all||5.006000| +dump_eval||5.006000| +dump_exec_pos||| +dump_fds||| +dump_form||5.006000| +dump_indent||5.006000|v +dump_mstats||| +dump_packsubs_perl||| +dump_packsubs||5.006000| +dump_sub_perl||| +dump_sub||5.006000| +dump_sv_child||| +dump_trie_interim_list||| +dump_trie_interim_table||| +dump_trie||| +dump_vindent||5.006000| +dumpuntil||| +dup_attrlist||| +emulate_cop_io||| +eval_pv|5.006000||p +eval_sv|5.006000||p +exec_failed||| +expect_number||| +fbm_compile||5.005000| +fbm_instr||5.005000| +feature_is_enabled||| +filter_add||| +filter_del||| +filter_gets||| +filter_read||| +finalize_optree||| +finalize_op||| +find_and_forget_pmops||| +find_array_subscript||| +find_beginning||| +find_byclass||| +find_hash_subscript||| +find_in_my_stash||| +find_lexical_cv||| +find_runcv_where||| +find_runcv||5.008001| +find_rundefsv2||| +find_rundefsvoffset||5.009002| +find_rundefsv||5.013002| +find_script||| +find_uninit_var||| +first_symbol|||n +foldEQ_latin1||5.013008|n +foldEQ_locale||5.013002|n +foldEQ_utf8_flags||5.013010| +foldEQ_utf8||5.013002| +foldEQ||5.013002|n +fold_constants||| +forbid_setid||| +force_ident_maybe_lex||| +force_ident||| +force_list||| +force_next||| +force_strict_version||| +force_version||| +force_word||| +forget_pmop||| +form_nocontext|||vn +form_short_octal_warning||| +form||5.004000|v +fp_dup||| +fprintf_nocontext|||vn +free_global_struct||| +free_tied_hv_pool||| +free_tmps||| +gen_constant_list||| +get_and_check_backslash_N_name||| +get_aux_mg||| +get_av|5.006000||p +get_context||5.006000|n +get_cvn_flags|5.009005||p +get_cvs|5.011000||p +get_cv|5.006000||p +get_db_sub||| +get_debug_opts||| +get_hash_seed||| +get_hv|5.006000||p +get_invlist_iter_addr||| +get_invlist_offset_addr||| +get_invlist_previous_index_addr||| +get_mstats||| +get_no_modify||| +get_num||| +get_op_descs||5.005000| +get_op_names||5.005000| +get_opargs||| +get_ppaddr||5.006000| +get_re_arg||| +get_sv|5.006000||p +get_vtbl||5.005030| +getcwd_sv||5.007002| +getenv_len||| +glob_2number||| +glob_assign_glob||| +glob_assign_ref||| +gp_dup||| +gp_free||| +gp_ref||| +grok_bin|5.007003||p +grok_bslash_N||| +grok_bslash_c||| +grok_bslash_o||| +grok_bslash_x||| +grok_hex|5.007003||p +grok_number|5.007002||p +grok_numeric_radix|5.007002||p +grok_oct|5.007003||p +group_end||| +gv_AVadd||| +gv_HVadd||| +gv_IOadd||| +gv_SVadd||| +gv_add_by_type||5.011000| +gv_autoload4||5.004000| +gv_autoload_pvn||5.015004| +gv_autoload_pv||5.015004| +gv_autoload_sv||5.015004| +gv_check||| +gv_const_sv||5.009003| +gv_dump||5.006000| +gv_efullname3||5.004000| +gv_efullname4||5.006001| +gv_efullname||| +gv_ename||| +gv_fetchfile_flags||5.009005| +gv_fetchfile||| +gv_fetchmeth_autoload||5.007003| +gv_fetchmeth_pv_autoload||5.015004| +gv_fetchmeth_pvn_autoload||5.015004| +gv_fetchmeth_pvn||5.015004| +gv_fetchmeth_pv||5.015004| +gv_fetchmeth_sv_autoload||5.015004| +gv_fetchmeth_sv||5.015004| +gv_fetchmethod_autoload||5.004000| +gv_fetchmethod_pv_flags||5.015004| +gv_fetchmethod_pvn_flags||5.015004| +gv_fetchmethod_sv_flags||5.015004| +gv_fetchmethod||| +gv_fetchmeth||| +gv_fetchpvn_flags|5.009002||p +gv_fetchpvs|5.009004||p +gv_fetchpv||| +gv_fetchsv|5.009002||p +gv_fullname3||5.004000| +gv_fullname4||5.006001| +gv_fullname||| +gv_handler||5.007001| +gv_init_pvn||5.015004| +gv_init_pv||5.015004| +gv_init_svtype||| +gv_init_sv||5.015004| +gv_init||| +gv_magicalize_isa||| +gv_name_set||5.009004| +gv_stashpvn|5.004000||p +gv_stashpvs|5.009003||p +gv_stashpv||| +gv_stashsv||| +gv_try_downgrade||| +handle_regex_sets||| +he_dup||| +hek_dup||| +hfree_next_entry||| +hfreeentries||| +hsplit||| +hv_assert||| +hv_auxinit||| +hv_backreferences_p||| +hv_clear_placeholders||5.009001| +hv_clear||| +hv_common_key_len||5.010000| +hv_common||5.010000| +hv_copy_hints_hv||5.009004| +hv_delayfree_ent||5.004000| +hv_delete_common||| +hv_delete_ent||5.004000| +hv_delete||| +hv_eiter_p||5.009003| +hv_eiter_set||5.009003| +hv_ename_add||| +hv_ename_delete||| +hv_exists_ent||5.004000| +hv_exists||| +hv_fetch_ent||5.004000| +hv_fetchs|5.009003||p +hv_fetch||| +hv_fill||5.013002| +hv_free_ent_ret||| +hv_free_ent||5.004000| +hv_iterinit||| +hv_iterkeysv||5.004000| +hv_iterkey||| +hv_iternext_flags||5.008000| +hv_iternextsv||| +hv_iternext||| +hv_iterval||| +hv_kill_backrefs||| +hv_ksplit||5.004000| +hv_magic_check|||n +hv_magic||| +hv_name_set||5.009003| +hv_notallowed||| +hv_placeholders_get||5.009003| +hv_placeholders_p||| +hv_placeholders_set||5.009003| +hv_rand_set||5.017011| +hv_riter_p||5.009003| +hv_riter_set||5.009003| +hv_scalar||5.009001| +hv_store_ent||5.004000| +hv_store_flags||5.008000| +hv_stores|5.009004||p +hv_store||| +hv_undef_flags||| +hv_undef||| +ibcmp_locale||5.004000| +ibcmp_utf8||5.007003| +ibcmp||| +incline||| +incpush_if_exists||| +incpush_use_sep||| +incpush||| +ingroup||| +init_argv_symbols||| +init_constants||| +init_dbargs||| +init_debugger||| +init_global_struct||| +init_i18nl10n||5.006000| +init_i18nl14n||5.006000| +init_ids||| +init_interp||| +init_main_stash||| +init_perllib||| +init_postdump_symbols||| +init_predump_symbols||| +init_stacks||5.005000| +init_tm||5.007002| +inplace_aassign||| +instr|||n +intro_my||| +intuit_method||| +intuit_more||| +invert||| +invlist_array||| +invlist_clone||| +invlist_extend||| +invlist_highest||| +invlist_is_iterating||| +invlist_iterfinish||| +invlist_iterinit||| +invlist_iternext||| +invlist_max||| +invlist_previous_index||| +invlist_set_len||| +invlist_set_previous_index||| +invlist_trim||| +invoke_exception_hook||| +io_close||| +isALNUMC|5.006000||p +isALNUM_lazy||| +isALPHANUMERIC||5.017008| +isALPHA||| +isASCII|5.006000|5.006000|p +isBLANK|5.006001||p +isCNTRL|5.006000|5.006000|p +isDIGIT||| +isFOO_lc||| +isFOO_utf8_lc||| +isGRAPH|5.006000||p +isGV_with_GP|5.009004||p +isIDCONT||5.017008| +isIDFIRST_lazy||| +isIDFIRST||| +isLOWER||| +isOCTAL||5.013005| +isPRINT|5.004000||p +isPSXSPC|5.006001||p +isPUNCT|5.006000||p +isSPACE||| +isUPPER||| +isWORDCHAR||5.013006| +isXDIGIT|5.006000||p +is_an_int||| +is_ascii_string||5.011000|n +is_cur_LC_category_utf8||| +is_handle_constructor|||n +is_list_assignment||| +is_lvalue_sub||5.007001| +is_uni_alnum_lc||5.006000| +is_uni_alnumc_lc||5.017007| +is_uni_alnumc||5.017007| +is_uni_alnum||5.006000| +is_uni_alpha_lc||5.006000| +is_uni_alpha||5.006000| +is_uni_ascii_lc||5.006000| +is_uni_ascii||5.006000| +is_uni_blank_lc||5.017002| +is_uni_blank||5.017002| +is_uni_cntrl_lc||5.006000| +is_uni_cntrl||5.006000| +is_uni_digit_lc||5.006000| +is_uni_digit||5.006000| +is_uni_graph_lc||5.006000| +is_uni_graph||5.006000| +is_uni_idfirst_lc||5.006000| +is_uni_idfirst||5.006000| +is_uni_lower_lc||5.006000| +is_uni_lower||5.006000| +is_uni_print_lc||5.006000| +is_uni_print||5.006000| +is_uni_punct_lc||5.006000| +is_uni_punct||5.006000| +is_uni_space_lc||5.006000| +is_uni_space||5.006000| +is_uni_upper_lc||5.006000| +is_uni_upper||5.006000| +is_uni_xdigit_lc||5.006000| +is_uni_xdigit||5.006000| +is_utf8_alnumc||5.017007| +is_utf8_alnum||5.006000| +is_utf8_alpha||5.006000| +is_utf8_ascii||5.006000| +is_utf8_blank||5.017002| +is_utf8_char_buf||5.015008|n +is_utf8_char_slow|||n +is_utf8_char||5.006000|n +is_utf8_cntrl||5.006000| +is_utf8_common||| +is_utf8_digit||5.006000| +is_utf8_graph||5.006000| +is_utf8_idcont||5.008000| +is_utf8_idfirst||5.006000| +is_utf8_lower||5.006000| +is_utf8_mark||5.006000| +is_utf8_perl_space||5.011001| +is_utf8_perl_word||5.011001| +is_utf8_posix_digit||5.011001| +is_utf8_print||5.006000| +is_utf8_punct||5.006000| +is_utf8_space||5.006000| +is_utf8_string_loclen||5.009003|n +is_utf8_string_loc||5.008001|n +is_utf8_string||5.006001|n +is_utf8_upper||5.006000| +is_utf8_xdigit||5.006000| +is_utf8_xidcont||5.013010| +is_utf8_xidfirst||5.013010| +isa_lookup||| +items|||n +ix|||n +jmaybe||| +join_exact||| +keyword_plugin_standard||| +keyword||| +leave_scope||| +lex_bufutf8||5.011002| +lex_discard_to||5.011002| +lex_grow_linestr||5.011002| +lex_next_chunk||5.011002| +lex_peek_unichar||5.011002| +lex_read_space||5.011002| +lex_read_to||5.011002| +lex_read_unichar||5.011002| +lex_start||5.009005| +lex_stuff_pvn||5.011002| +lex_stuff_pvs||5.013005| +lex_stuff_pv||5.013006| +lex_stuff_sv||5.011002| +lex_unstuff||5.011002| +listkids||| +list||| +load_module_nocontext|||vn +load_module|5.006000||pv +localize||| +looks_like_bool||| +looks_like_number||| +lop||| +mPUSHi|5.009002||p +mPUSHn|5.009002||p +mPUSHp|5.009002||p +mPUSHs|5.010001||p +mPUSHu|5.009002||p +mXPUSHi|5.009002||p +mXPUSHn|5.009002||p +mXPUSHp|5.009002||p +mXPUSHs|5.010001||p +mXPUSHu|5.009002||p +mad_free||| +madlex||| +madparse||| +magic_clear_all_env||| +magic_cleararylen_p||| +magic_clearenv||| +magic_clearhints||| +magic_clearhint||| +magic_clearisa||| +magic_clearpack||| +magic_clearsig||| +magic_copycallchecker||| +magic_dump||5.006000| +magic_existspack||| +magic_freearylen_p||| +magic_freeovrld||| +magic_getarylen||| +magic_getdefelem||| +magic_getnkeys||| +magic_getpack||| +magic_getpos||| +magic_getsig||| +magic_getsubstr||| +magic_gettaint||| +magic_getuvar||| +magic_getvec||| +magic_get||| +magic_killbackrefs||| +magic_methcall1||| +magic_methcall|||v +magic_methpack||| +magic_nextpack||| +magic_regdata_cnt||| +magic_regdatum_get||| +magic_regdatum_set||| +magic_scalarpack||| +magic_set_all_env||| +magic_setarylen||| +magic_setcollxfrm||| +magic_setdbline||| +magic_setdefelem||| +magic_setenv||| +magic_sethint||| +magic_setisa||| +magic_setmglob||| +magic_setnkeys||| +magic_setpack||| +magic_setpos||| +magic_setregexp||| +magic_setsig||| +magic_setsubstr||| +magic_settaint||| +magic_setutf8||| +magic_setuvar||| +magic_setvec||| +magic_set||| +magic_sizepack||| +magic_wipepack||| +make_matcher||| +make_trie_failtable||| +make_trie||| +malloc_good_size|||n +malloced_size|||n +malloc||5.007002|n +markstack_grow||| +matcher_matches_sv||| +mayberelocate||| +measure_struct||| +memEQs|5.009005||p +memEQ|5.004000||p +memNEs|5.009005||p +memNE|5.004000||p +mem_collxfrm||| +mem_log_common|||n +mess_alloc||| +mess_nocontext|||vn +mess_sv||5.013001| +mess||5.006000|v +method_common||| +mfree||5.007002|n +mg_clear||| +mg_copy||| +mg_dup||| +mg_find_mglob||| +mg_findext||5.013008| +mg_find||| +mg_free_type||5.013006| +mg_free||| +mg_get||| +mg_length||5.005000| +mg_localize||| +mg_magical||| +mg_set||| +mg_size||5.005000| +mini_mktime||5.007002| +minus_v||| +missingterm||| +mode_from_discipline||| +modkids||| +more_bodies||| +more_sv||| +moreswitches||| +mro_clean_isarev||| +mro_gather_and_rename||| +mro_get_from_name||5.010001| +mro_get_linear_isa_dfs||| +mro_get_linear_isa||5.009005| +mro_get_private_data||5.010001| +mro_isa_changed_in||| +mro_meta_dup||| +mro_meta_init||| +mro_method_changed_in||5.009005| +mro_package_moved||| +mro_register||5.010001| +mro_set_mro||5.010001| +mro_set_private_data||5.010001| +mul128||| +mulexp10|||n +my_atof2||5.007002| +my_atof||5.006000| +my_attrs||| +my_bcopy|||n +my_bzero|||n +my_chsize||| +my_clearenv||| +my_cxt_index||| +my_cxt_init||| +my_dirfd||5.009005| +my_exit_jump||| +my_exit||| +my_failure_exit||5.004000| +my_fflush_all||5.006000| +my_fork||5.007003|n +my_kid||| +my_lstat_flags||| +my_lstat||5.019003| +my_memcmp|||n +my_memset||5.004000|n +my_pclose||5.004000| +my_popen_list||5.007001| +my_popen||5.004000| +my_setenv||| +my_snprintf|5.009004||pvn +my_socketpair||5.007003|n +my_sprintf|5.009003||pvn +my_stat_flags||| +my_stat||5.019003| +my_strftime||5.007002| +my_strlcat|5.009004||pn +my_strlcpy|5.009004||pn +my_unexec||| +my_vsnprintf||5.009004|n +need_utf8|||n +newANONATTRSUB||5.006000| +newANONHASH||| +newANONLIST||| +newANONSUB||| +newASSIGNOP||| +newATTRSUB_flags||| +newATTRSUB||5.006000| +newAVREF||| +newAV||| +newBINOP||| +newCONDOP||| +newCONSTSUB_flags||5.015006| +newCONSTSUB|5.004050||p +newCVREF||| +newDEFSVOP||| +newFORM||| +newFOROP||5.013007| +newGIVENOP||5.009003| +newGIVWHENOP||| +newGP||| +newGVOP||| +newGVREF||| +newGVgen_flags||5.015004| +newGVgen||| +newHVREF||| +newHVhv||5.005000| +newHV||| +newIO||| +newLISTOP||| +newLOGOP||| +newLOOPEX||| +newLOOPOP||| +newMADPROP||| +newMADsv||| +newMYSUB||5.017004| +newNULLLIST||| +newOP||| +newPADOP||| +newPMOP||| +newPROG||| +newPVOP||| +newRANGE||| +newRV_inc|5.004000||p +newRV_noinc|5.004000||p +newRV||| +newSLICEOP||| +newSTATEOP||| +newSTUB||| +newSUB||| +newSVOP||| +newSVREF||| +newSV_type|5.009005||p +newSVhek||5.009003| +newSViv||| +newSVnv||| +newSVpadname||5.017004| +newSVpv_share||5.013006| +newSVpvf_nocontext|||vn +newSVpvf||5.004000|v +newSVpvn_flags|5.010001||p +newSVpvn_share|5.007001||p +newSVpvn_utf8|5.010001||p +newSVpvn|5.004050||p +newSVpvs_flags|5.010001||p +newSVpvs_share|5.009003||p +newSVpvs|5.009003||p +newSVpv||| +newSVrv||| +newSVsv||| +newSVuv|5.006000||p +newSV||| +newTOKEN||| +newUNOP||| +newWHENOP||5.009003| +newWHILEOP||5.013007| +newXS_flags||5.009004| +newXS_len_flags||| +newXSproto||5.006000| +newXS||5.006000| +new_collate||5.006000| +new_constant||| +new_ctype||5.006000| +new_he||| +new_logop||| +new_numeric||5.006000| +new_stackinfo||5.005000| +new_version||5.009000| +new_warnings_bitfield||| +next_symbol||| +nextargv||| +nextchar||| +ninstr|||n +no_bareword_allowed||| +no_fh_allowed||| +no_op||| +not_a_number||| +not_incrementable||| +nothreadhook||5.008000| +nuke_stacks||| +num_overflow|||n +oopsAV||| +oopsHV||| +op_append_elem||5.013006| +op_append_list||5.013006| +op_clear||| +op_const_sv||| +op_contextualize||5.013006| +op_dump||5.006000| +op_free||| +op_getmad_weak||| +op_getmad||| +op_integerize||| +op_linklist||5.013006| +op_lvalue_flags||| +op_lvalue||5.013007| +op_null||5.007002| +op_prepend_elem||5.013006| +op_refcnt_dec||| +op_refcnt_inc||| +op_refcnt_lock||5.009002| +op_refcnt_unlock||5.009002| +op_scope||5.013007| +op_std_init||| +op_unscope||| +op_xmldump||| +open_script||| +opslab_force_free||| +opslab_free_nopad||| +opslab_free||| +pMY_CXT_|5.007003||p +pMY_CXT|5.007003||p +pTHX_|5.006000||p +pTHX|5.006000||p +packWARN|5.007003||p +pack_cat||5.007003| +pack_rec||| +package_version||| +package||| +packlist||5.008001| +pad_add_anon||5.008001| +pad_add_name_pvn||5.015001| +pad_add_name_pvs||5.015001| +pad_add_name_pv||5.015001| +pad_add_name_sv||5.015001| +pad_alloc_name||| +pad_alloc||| +pad_block_start||| +pad_check_dup||| +pad_compname_type||5.009003| +pad_findlex||| +pad_findmy_pvn||5.015001| +pad_findmy_pvs||5.015001| +pad_findmy_pv||5.015001| +pad_findmy_sv||5.015001| +pad_fixup_inner_anons||| +pad_free||| +pad_leavemy||| +pad_new||5.008001| +pad_peg|||n +pad_push||| +pad_reset||| +pad_setsv||| +pad_sv||| +pad_swipe||| +pad_tidy||5.008001| +padlist_dup||| +padlist_store||| +parse_arithexpr||5.013008| +parse_barestmt||5.013007| +parse_block||5.013007| +parse_body||| +parse_fullexpr||5.013008| +parse_fullstmt||5.013005| +parse_ident||| +parse_label||5.013007| +parse_listexpr||5.013008| +parse_lparen_question_flags||| +parse_stmtseq||5.013006| +parse_termexpr||5.013008| +parse_unicode_opts||| +parser_dup||| +parser_free_nexttoke_ops||| +parser_free||| +path_is_searchable|||n +peep||| +pending_ident||| +perl_alloc_using|||n +perl_alloc|||n +perl_clone_using|||n +perl_clone|||n +perl_construct|||n +perl_destruct||5.007003|n +perl_free|||n +perl_parse||5.006000|n +perl_run|||n +pidgone||| +pm_description||| +pmop_dump||5.006000| +pmop_xmldump||| +pmruntime||| +pmtrans||| +pop_scope||| +populate_isa|||v +pregcomp||5.009005| +pregexec||| +pregfree2||5.011000| +pregfree||| +prepend_madprops||| +prescan_version||5.011004| +printbuf||| +printf_nocontext|||vn +process_special_blocks||| +ptr_hash|||n +ptr_table_clear||5.009005| +ptr_table_fetch||5.009005| +ptr_table_find|||n +ptr_table_free||5.009005| +ptr_table_new||5.009005| +ptr_table_split||5.009005| +ptr_table_store||5.009005| +push_scope||| +put_byte||| +put_latin1_charclass_innards||| +pv_display|5.006000||p +pv_escape|5.009004||p +pv_pretty|5.009004||p +pv_uni_display||5.007003| +qerror||| +qsortsvu||| +re_compile||5.009005| +re_croak2||| +re_dup_guts||| +re_intuit_start||5.019001| +re_intuit_string||5.006000| +re_op_compile||| +readpipe_override||| +realloc||5.007002|n +reentrant_free||5.019003| +reentrant_init||5.019003| +reentrant_retry||5.019003|vn +reentrant_size||5.019003| +ref_array_or_hash||| +refcounted_he_chain_2hv||| +refcounted_he_fetch_pvn||| +refcounted_he_fetch_pvs||| +refcounted_he_fetch_pv||| +refcounted_he_fetch_sv||| +refcounted_he_free||| +refcounted_he_inc||| +refcounted_he_new_pvn||| +refcounted_he_new_pvs||| +refcounted_he_new_pv||| +refcounted_he_new_sv||| +refcounted_he_value||| +refkids||| +refto||| +ref||5.019003| +reg_check_named_buff_matched||| +reg_named_buff_all||5.009005| +reg_named_buff_exists||5.009005| +reg_named_buff_fetch||5.009005| +reg_named_buff_firstkey||5.009005| +reg_named_buff_iter||| +reg_named_buff_nextkey||5.009005| +reg_named_buff_scalar||5.009005| +reg_named_buff||| +reg_node||| +reg_numbered_buff_fetch||| +reg_numbered_buff_length||| +reg_numbered_buff_store||| +reg_qr_package||| +reg_recode||| +reg_scan_name||| +reg_skipcomment||| +reg_temp_copy||| +reganode||| +regatom||| +regbranch||| +regclass_swash||5.009004| +regclass||| +regcppop||| +regcppush||| +regcurly||| +regdump_extflags||| +regdump_intflags||| +regdump||5.005000| +regdupe_internal||| +regexec_flags||5.005000| +regfree_internal||5.009005| +reghop3|||n +reghop4|||n +reghopmaybe3|||n +reginclass||| +reginitcolors||5.006000| +reginsert||| +regmatch||| +regnext||5.005000| +regpatws|||n +regpiece||| +regpposixcc||| +regprop||| +regrepeat||| +regtail_study||| +regtail||| +regtry||| +reguni||| +regwhite|||n +reg||| +repeatcpy|||n +report_evil_fh||| +report_redefined_cv||| +report_uninit||| +report_wrongway_fh||| +require_pv||5.006000| +require_tie_mod||| +restore_magic||| +rninstr|||n +rpeep||| +rsignal_restore||| +rsignal_save||| +rsignal_state||5.004000| +rsignal||5.004000| +run_body||| +run_user_filter||| +runops_debug||5.005000| +runops_standard||5.005000| +rv2cv_op_cv||5.013006| +rvpv_dup||| +rxres_free||| +rxres_restore||| +rxres_save||| +safesyscalloc||5.006000|n +safesysfree||5.006000|n +safesysmalloc||5.006000|n +safesysrealloc||5.006000|n +same_dirent||| +save_I16||5.004000| +save_I32||| +save_I8||5.006000| +save_adelete||5.011000| +save_aelem_flags||5.011000| +save_aelem||5.004050| +save_alloc||5.006000| +save_aptr||| +save_ary||| +save_bool||5.008001| +save_clearsv||| +save_delete||| +save_destructor_x||5.006000| +save_destructor||5.006000| +save_freeop||| +save_freepv||| +save_freesv||| +save_generic_pvref||5.006001| +save_generic_svref||5.005030| +save_gp||5.004000| +save_hash||| +save_hdelete||5.011000| +save_hek_flags|||n +save_helem_flags||5.011000| +save_helem||5.004050| +save_hints||5.010001| +save_hptr||| +save_int||| +save_item||| +save_iv||5.005000| +save_lines||| +save_list||| +save_long||| +save_magic_flags||| +save_mortalizesv||5.007001| +save_nogv||| +save_op||5.005000| +save_padsv_and_mortalize||5.010001| +save_pptr||| +save_pushi32ptr||5.010001| +save_pushptri32ptr||| +save_pushptrptr||5.010001| +save_pushptr||5.010001| +save_re_context||5.006000| +save_scalar_at||| +save_scalar||| +save_set_svflags||5.009000| +save_shared_pvref||5.007003| +save_sptr||| +save_svref||| +save_vptr||5.006000| +savepvn||| +savepvs||5.009003| +savepv||| +savesharedpvn||5.009005| +savesharedpvs||5.013006| +savesharedpv||5.007003| +savesharedsvpv||5.013006| +savestack_grow_cnt||5.008001| +savestack_grow||| +savesvpv||5.009002| +sawparens||| +scalar_mod_type|||n +scalarboolean||| +scalarkids||| +scalarseq||| +scalarvoid||| +scalar||| +scan_bin||5.006000| +scan_commit||| +scan_const||| +scan_formline||| +scan_heredoc||| +scan_hex||| +scan_ident||| +scan_inputsymbol||| +scan_num||5.007001| +scan_oct||| +scan_pat||| +scan_str||| +scan_subst||| +scan_trans||| +scan_version||5.009001| +scan_vstring||5.009005| +scan_word||| +screaminstr||5.005000| +search_const||| +seed||5.008001| +sequence_num||| +set_context||5.006000|n +set_numeric_local||5.006000| +set_numeric_radix||5.006000| +set_numeric_standard||5.006000| +setdefout||| +share_hek_flags||| +share_hek||5.004000| +si_dup||| +sighandler|||n +simplify_sort||| +skipspace0||| +skipspace1||| +skipspace2||| +skipspace_flags||| +softref2xv||| +sortcv_stacked||| +sortcv_xsub||| +sortcv||| +sortsv_flags||5.009003| +sortsv||5.007003| +space_join_names_mortal||| +ss_dup||| +stack_grow||| +start_force||| +start_glob||| +start_subparse||5.004000| +stdize_locale||| +strEQ||| +strGE||| +strGT||| +strLE||| +strLT||| +strNE||| +str_to_version||5.006000| +strip_return||| +strnEQ||| +strnNE||| +study_chunk||| +sub_crush_depth||| +sublex_done||| +sublex_push||| +sublex_start||| +sv_2bool_flags||5.013006| +sv_2bool||| +sv_2cv||| +sv_2io||| +sv_2iuv_common||| +sv_2iuv_non_preserve||| +sv_2iv_flags||5.009001| +sv_2iv||| +sv_2mortal||| +sv_2num||| +sv_2nv_flags||5.013001| +sv_2pv_flags|5.007002||p +sv_2pv_nolen|5.006000||p +sv_2pvbyte_nolen|5.006000||p +sv_2pvbyte|5.006000||p +sv_2pvutf8_nolen||5.006000| +sv_2pvutf8||5.006000| +sv_2pv||| +sv_2uv_flags||5.009001| +sv_2uv|5.004000||p +sv_add_arena||| +sv_add_backref||| +sv_backoff||| +sv_bless||| +sv_cat_decode||5.008001| +sv_catpv_flags||5.013006| +sv_catpv_mg|5.004050||p +sv_catpv_nomg||5.013006| +sv_catpvf_mg_nocontext|||pvn +sv_catpvf_mg|5.006000|5.004000|pv +sv_catpvf_nocontext|||vn +sv_catpvf||5.004000|v +sv_catpvn_flags||5.007002| +sv_catpvn_mg|5.004050||p +sv_catpvn_nomg|5.007002||p +sv_catpvn||| +sv_catpvs_flags||5.013006| +sv_catpvs_mg||5.013006| +sv_catpvs_nomg||5.013006| +sv_catpvs|5.009003||p +sv_catpv||| +sv_catsv_flags||5.007002| +sv_catsv_mg|5.004050||p +sv_catsv_nomg|5.007002||p +sv_catsv||| +sv_catxmlpvn||| +sv_catxmlpv||| +sv_catxmlsv||| +sv_chop||| +sv_clean_all||| +sv_clean_objs||| +sv_clear||| +sv_cmp_flags||5.013006| +sv_cmp_locale_flags||5.013006| +sv_cmp_locale||5.004000| +sv_cmp||| +sv_collxfrm_flags||5.013006| +sv_collxfrm||| +sv_copypv_flags||5.017002| +sv_copypv_nomg||5.017002| +sv_copypv||| +sv_dec_nomg||5.013002| +sv_dec||| +sv_del_backref||| +sv_derived_from_pvn||5.015004| +sv_derived_from_pv||5.015004| +sv_derived_from_sv||5.015004| +sv_derived_from||5.004000| +sv_destroyable||5.010000| +sv_display||| +sv_does_pvn||5.015004| +sv_does_pv||5.015004| +sv_does_sv||5.015004| +sv_does||5.009004| +sv_dump||| +sv_dup_common||| +sv_dup_inc_multiple||| +sv_dup_inc||| +sv_dup||| +sv_eq_flags||5.013006| +sv_eq||| +sv_exp_grow||| +sv_force_normal_flags||5.007001| +sv_force_normal||5.006000| +sv_free2||| +sv_free_arenas||| +sv_free||| +sv_gets||5.004000| +sv_grow||| +sv_i_ncmp||| +sv_inc_nomg||5.013002| +sv_inc||| +sv_insert_flags||5.010001| +sv_insert||| +sv_isa||| +sv_isobject||| +sv_iv||5.005000| +sv_kill_backrefs||| +sv_len_utf8_nomg||| +sv_len_utf8||5.006000| +sv_len||| +sv_magic_portable|5.019003|5.004000|p +sv_magicext_mglob||| +sv_magicext||5.007003| +sv_magic||| +sv_mortalcopy_flags||| +sv_mortalcopy||| +sv_ncmp||| +sv_newmortal||| +sv_newref||| +sv_nolocking||5.007003| +sv_nosharing||5.007003| +sv_nounlocking||| +sv_nv||5.005000| +sv_peek||5.005000| +sv_pos_b2u_flags||5.019003| +sv_pos_b2u_midway||| +sv_pos_b2u||5.006000| +sv_pos_u2b_cached||| +sv_pos_u2b_flags||5.011005| +sv_pos_u2b_forwards|||n +sv_pos_u2b_midway|||n +sv_pos_u2b||5.006000| +sv_pvbyten_force||5.006000| +sv_pvbyten||5.006000| +sv_pvbyte||5.006000| +sv_pvn_force_flags|5.007002||p +sv_pvn_force||| +sv_pvn_nomg|5.007003|5.005000|p +sv_pvn||5.005000| +sv_pvutf8n_force||5.006000| +sv_pvutf8n||5.006000| +sv_pvutf8||5.006000| +sv_pv||5.006000| +sv_recode_to_utf8||5.007003| +sv_reftype||| +sv_ref||| +sv_release_COW||| +sv_replace||| +sv_report_used||| +sv_resetpvn||| +sv_reset||| +sv_rvweaken||5.006000| +sv_sethek||| +sv_setiv_mg|5.004050||p +sv_setiv||| +sv_setnv_mg|5.006000||p +sv_setnv||| +sv_setpv_mg|5.004050||p +sv_setpvf_mg_nocontext|||pvn +sv_setpvf_mg|5.006000|5.004000|pv +sv_setpvf_nocontext|||vn +sv_setpvf||5.004000|v +sv_setpviv_mg||5.008001| +sv_setpviv||5.008001| +sv_setpvn_mg|5.004050||p +sv_setpvn||| +sv_setpvs_mg||5.013006| +sv_setpvs|5.009004||p +sv_setpv||| +sv_setref_iv||| +sv_setref_nv||| +sv_setref_pvn||| +sv_setref_pvs||5.019003| +sv_setref_pv||| +sv_setref_uv||5.007001| +sv_setsv_cow||| +sv_setsv_flags||5.007002| +sv_setsv_mg|5.004050||p +sv_setsv_nomg|5.007002||p +sv_setsv||| +sv_setuv_mg|5.004050||p +sv_setuv|5.004000||p +sv_tainted||5.004000| +sv_taint||5.004000| +sv_true||5.005000| +sv_unglob||| +sv_uni_display||5.007003| +sv_unmagicext||5.013008| +sv_unmagic||| +sv_unref_flags||5.007001| +sv_unref||| +sv_untaint||5.004000| +sv_upgrade||| +sv_usepvn_flags||5.009004| +sv_usepvn_mg|5.004050||p +sv_usepvn||| +sv_utf8_decode||5.006000| +sv_utf8_downgrade||5.006000| +sv_utf8_encode||5.006000| +sv_utf8_upgrade_flags_grow||5.011000| +sv_utf8_upgrade_flags||5.007002| +sv_utf8_upgrade_nomg||5.007002| +sv_utf8_upgrade||5.007001| +sv_uv|5.005000||p +sv_vcatpvf_mg|5.006000|5.004000|p +sv_vcatpvfn_flags||5.017002| +sv_vcatpvfn||5.004000| +sv_vcatpvf|5.006000|5.004000|p +sv_vsetpvf_mg|5.006000|5.004000|p +sv_vsetpvfn||5.004000| +sv_vsetpvf|5.006000|5.004000|p +sv_xmlpeek||| +svtype||| +swallow_bom||| +swash_fetch||5.007002| +swash_init||5.006000| +swatch_get||| +sys_init3||5.010000|n +sys_init||5.010000|n +sys_intern_clear||| +sys_intern_dup||| +sys_intern_init||| +sys_term||5.010000|n +taint_env||| +taint_proper||| +tied_method|||v +tmps_grow||5.006000| +toFOLD_uni||5.007003| +toFOLD_utf8||5.019001| +toFOLD||5.019001| +toLOWER_L1||5.019001| +toLOWER_LC||5.004000| +toLOWER_uni||5.007003| +toLOWER_utf8||5.015007| +toLOWER||| +toTITLE_uni||5.007003| +toTITLE_utf8||5.015007| +toTITLE||5.019001| +toUPPER_uni||5.007003| +toUPPER_utf8||5.015007| +toUPPER||5.004000| +to_byte_substr||| +to_lower_latin1||| +to_uni_fold||5.007003| +to_uni_lower_lc||5.006000| +to_uni_lower||5.007003| +to_uni_title_lc||5.006000| +to_uni_title||5.007003| +to_uni_upper_lc||5.006000| +to_uni_upper||5.007003| +to_utf8_case||5.007003| +to_utf8_fold||5.015007| +to_utf8_lower||5.015007| +to_utf8_substr||| +to_utf8_title||5.015007| +to_utf8_upper||5.015007| +token_free||| +token_getmad||| +tokenize_use||| +tokeq||| +tokereport||| +too_few_arguments_pv||| +too_few_arguments_sv||| +too_many_arguments_pv||| +too_many_arguments_sv||| +translate_substr_offsets||| +try_amagic_bin||| +try_amagic_un||| +uiv_2buf|||n +unlnk||| +unpack_rec||| +unpack_str||5.007003| +unpackstring||5.008001| +unreferenced_to_tmp_stack||| +unshare_hek_or_pvn||| +unshare_hek||| +unsharepvn||5.004000| +unwind_handler_stack||| +update_debugger_info||| +upg_version||5.009005| +usage||| +utf16_textfilter||| +utf16_to_utf8_reversed||5.006001| +utf16_to_utf8||5.006001| +utf8_distance||5.006000| +utf8_hop||5.006000| +utf8_length||5.007001| +utf8_mg_len_cache_update||| +utf8_mg_pos_cache_update||| +utf8_to_bytes||5.006001| +utf8_to_uvchr_buf||5.015009| +utf8_to_uvchr||5.007001| +utf8_to_uvuni_buf||5.015009| +utf8_to_uvuni||5.007001| +utf8n_to_uvchr||| +utf8n_to_uvuni||5.007001| +utilize||| +uvchr_to_utf8_flags||5.007003| +uvchr_to_utf8||| +uvuni_to_utf8_flags||5.007003| +uvuni_to_utf8||5.007001| +valid_utf8_to_uvchr||| +valid_utf8_to_uvuni||5.015009| +validate_proto||| +validate_suid||| +varname||| +vcmp||5.009000| +vcroak||5.006000| +vdeb||5.007003| +vform||5.006000| +visit||| +vivify_defelem||| +vivify_ref||| +vload_module|5.006000||p +vmess||5.006000| +vnewSVpvf|5.006000|5.004000|p +vnormal||5.009002| +vnumify||5.009000| +vstringify||5.009000| +vverify||5.009003| +vwarner||5.006000| +vwarn||5.006000| +wait4pid||| +warn_nocontext|||vn +warn_sv||5.013001| +warner_nocontext|||vn +warner|5.006000|5.004000|pv +warn|||v +was_lvalue_sub||| +watch||| +whichsig_pvn||5.015004| +whichsig_pv||5.015004| +whichsig_sv||5.015004| +whichsig||| +win32_croak_not_implemented|||n +with_queued_errors||| +wrap_op_checker||5.015008| +write_to_stderr||| +xmldump_all_perl||| +xmldump_all||| +xmldump_attr||| +xmldump_eval||| +xmldump_form||| +xmldump_indent|||v +xmldump_packsubs_perl||| +xmldump_packsubs||| +xmldump_sub_perl||| +xmldump_sub||| +xmldump_vindent||| +xs_apiversion_bootcheck||| +xs_version_bootcheck||| +yyerror_pvn||| +yyerror_pv||| +yyerror||| +yylex||| +yyparse||| +yyunlex||| +yywarn||| +); + +if (exists $opt{'list-unsupported'}) { + my $f; + for $f (sort { lc $a cmp lc $b } keys %API) { + next unless $API{$f}{todo}; + print "$f ", '.'x(40-length($f)), " ", format_version($API{$f}{todo}), "\n"; + } + exit 0; +} + +# Scan for possible replacement candidates + +my(%replace, %need, %hints, %warnings, %depends); +my $replace = 0; +my($hint, $define, $function); + +sub find_api +{ + my $code = shift; + $code =~ s{ + / (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* / | /[^\r\n]*) + | "[^"\\]*(?:\\.[^"\\]*)*" + | '[^'\\]*(?:\\.[^'\\]*)*' }{}egsx; + grep { exists $API{$_} } $code =~ /(\w+)/mg; +} + +while () { + if ($hint) { + my $h = $hint->[0] eq 'Hint' ? \%hints : \%warnings; + if (m{^\s*\*\s(.*?)\s*$}) { + for (@{$hint->[1]}) { + $h->{$_} ||= ''; # suppress warning with older perls + $h->{$_} .= "$1\n"; + } + } + else { undef $hint } + } + + $hint = [$1, [split /,?\s+/, $2]] + if m{^\s*$rccs\s+(Hint|Warning):\s+(\w+(?:,?\s+\w+)*)\s*$}; + + if ($define) { + if ($define->[1] =~ /\\$/) { + $define->[1] .= $_; + } + else { + if (exists $API{$define->[0]} && $define->[1] !~ /^DPPP_\(/) { + my @n = find_api($define->[1]); + push @{$depends{$define->[0]}}, @n if @n + } + undef $define; + } + } + + $define = [$1, $2] if m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(.*)}; + + if ($function) { + if (/^}/) { + if (exists $API{$function->[0]}) { + my @n = find_api($function->[1]); + push @{$depends{$function->[0]}}, @n if @n + } + undef $function; + } + else { + $function->[1] .= $_; + } + } + + $function = [$1, ''] if m{^DPPP_\(my_(\w+)\)}; + + $replace = $1 if m{^\s*$rccs\s+Replace:\s+(\d+)\s+$rcce\s*$}; + $replace{$2} = $1 if $replace and m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(\w+)}; + $replace{$2} = $1 if m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(\w+).*$rccs\s+Replace\s+$rcce}; + $replace{$1} = $2 if m{^\s*$rccs\s+Replace (\w+) with (\w+)\s+$rcce\s*$}; + + if (m{^\s*$rccs\s+(\w+(\s*,\s*\w+)*)\s+depends\s+on\s+(\w+(\s*,\s*\w+)*)\s+$rcce\s*$}) { + my @deps = map { s/\s+//g; $_ } split /,/, $3; + my $d; + for $d (map { s/\s+//g; $_ } split /,/, $1) { + push @{$depends{$d}}, @deps; + } + } + + $need{$1} = 1 if m{^#if\s+defined\(NEED_(\w+)(?:_GLOBAL)?\)}; +} + +for (values %depends) { + my %s; + $_ = [sort grep !$s{$_}++, @$_]; +} + +if (exists $opt{'api-info'}) { + my $f; + my $count = 0; + my $match = $opt{'api-info'} =~ m!^/(.*)/$! ? $1 : "^\Q$opt{'api-info'}\E\$"; + for $f (sort { lc $a cmp lc $b } keys %API) { + next unless $f =~ /$match/; + print "\n=== $f ===\n\n"; + my $info = 0; + if ($API{$f}{base} || $API{$f}{todo}) { + my $base = format_version($API{$f}{base} || $API{$f}{todo}); + print "Supported at least starting from perl-$base.\n"; + $info++; + } + if ($API{$f}{provided}) { + my $todo = $API{$f}{todo} ? format_version($API{$f}{todo}) : "5.003"; + print "Support by $ppport provided back to perl-$todo.\n"; + print "Support needs to be explicitly requested by NEED_$f.\n" if exists $need{$f}; + print "Depends on: ", join(', ', @{$depends{$f}}), ".\n" if exists $depends{$f}; + print "\n$hints{$f}" if exists $hints{$f}; + print "\nWARNING:\n$warnings{$f}" if exists $warnings{$f}; + $info++; + } + print "No portability information available.\n" unless $info; + $count++; + } + $count or print "Found no API matching '$opt{'api-info'}'."; + print "\n"; + exit 0; +} + +if (exists $opt{'list-provided'}) { + my $f; + for $f (sort { lc $a cmp lc $b } keys %API) { + next unless $API{$f}{provided}; + my @flags; + push @flags, 'explicit' if exists $need{$f}; + push @flags, 'depend' if exists $depends{$f}; + push @flags, 'hint' if exists $hints{$f}; + push @flags, 'warning' if exists $warnings{$f}; + my $flags = @flags ? ' ['.join(', ', @flags).']' : ''; + print "$f$flags\n"; + } + exit 0; +} + +my @files; +my @srcext = qw( .xs .c .h .cc .cpp -c.inc -xs.inc ); +my $srcext = join '|', map { quotemeta $_ } @srcext; + +if (@ARGV) { + my %seen; + for (@ARGV) { + if (-e) { + if (-f) { + push @files, $_ unless $seen{$_}++; + } + else { warn "'$_' is not a file.\n" } + } + else { + my @new = grep { -f } glob $_ + or warn "'$_' does not exist.\n"; + push @files, grep { !$seen{$_}++ } @new; + } + } +} +else { + eval { + require File::Find; + File::Find::find(sub { + $File::Find::name =~ /($srcext)$/i + and push @files, $File::Find::name; + }, '.'); + }; + if ($@) { + @files = map { glob "*$_" } @srcext; + } +} + +if (!@ARGV || $opt{filter}) { + my(@in, @out); + my %xsc = map { /(.*)\.xs$/ ? ("$1.c" => 1, "$1.cc" => 1) : () } @files; + for (@files) { + my $out = exists $xsc{$_} || /\b\Q$ppport\E$/i || !/($srcext)$/i; + push @{ $out ? \@out : \@in }, $_; + } + if (@ARGV && @out) { + warning("Skipping the following files (use --nofilter to avoid this):\n| ", join "\n| ", @out); + } + @files = @in; +} + +die "No input files given!\n" unless @files; + +my(%files, %global, %revreplace); +%revreplace = reverse %replace; +my $filename; +my $patch_opened = 0; + +for $filename (@files) { + unless (open IN, "<$filename") { + warn "Unable to read from $filename: $!\n"; + next; + } + + info("Scanning $filename ..."); + + my $c = do { local $/; }; + close IN; + + my %file = (orig => $c, changes => 0); + + # Temporarily remove C/XS comments and strings from the code + my @ccom; + + $c =~ s{ + ( ^$HS*\#$HS*include\b[^\r\n]+\b(?:\Q$ppport\E|XSUB\.h)\b[^\r\n]* + | ^$HS*\#$HS*(?:define|elif|if(?:def)?)\b[^\r\n]* ) + | ( ^$HS*\#[^\r\n]* + | "[^"\\]*(?:\\.[^"\\]*)*" + | '[^'\\]*(?:\\.[^'\\]*)*' + | / (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* / | /[^\r\n]* ) ) + }{ defined $2 and push @ccom, $2; + defined $1 ? $1 : "$ccs$#ccom$cce" }mgsex; + + $file{ccom} = \@ccom; + $file{code} = $c; + $file{has_inc_ppport} = $c =~ /^$HS*#$HS*include[^\r\n]+\b\Q$ppport\E\b/m; + + my $func; + + for $func (keys %API) { + my $match = $func; + $match .= "|$revreplace{$func}" if exists $revreplace{$func}; + if ($c =~ /\b(?:Perl_)?($match)\b/) { + $file{uses_replace}{$1}++ if exists $revreplace{$func} && $1 eq $revreplace{$func}; + $file{uses_Perl}{$func}++ if $c =~ /\bPerl_$func\b/; + if (exists $API{$func}{provided}) { + $file{uses_provided}{$func}++; + if (!exists $API{$func}{base} || $API{$func}{base} > $opt{'compat-version'}) { + $file{uses}{$func}++; + my @deps = rec_depend($func); + if (@deps) { + $file{uses_deps}{$func} = \@deps; + for (@deps) { + $file{uses}{$_} = 0 unless exists $file{uses}{$_}; + } + } + for ($func, @deps) { + $file{needs}{$_} = 'static' if exists $need{$_}; + } + } + } + if (exists $API{$func}{todo} && $API{$func}{todo} > $opt{'compat-version'}) { + if ($c =~ /\b$func\b/) { + $file{uses_todo}{$func}++; + } + } + } + } + + while ($c =~ /^$HS*#$HS*define$HS+(NEED_(\w+?)(_GLOBAL)?)\b/mg) { + if (exists $need{$2}) { + $file{defined $3 ? 'needed_global' : 'needed_static'}{$2}++; + } + else { warning("Possibly wrong #define $1 in $filename") } + } + + for (qw(uses needs uses_todo needed_global needed_static)) { + for $func (keys %{$file{$_}}) { + push @{$global{$_}{$func}}, $filename; + } + } + + $files{$filename} = \%file; +} + +# Globally resolve NEED_'s +my $need; +for $need (keys %{$global{needs}}) { + if (@{$global{needs}{$need}} > 1) { + my @targets = @{$global{needs}{$need}}; + my @t = grep $files{$_}{needed_global}{$need}, @targets; + @targets = @t if @t; + @t = grep /\.xs$/i, @targets; + @targets = @t if @t; + my $target = shift @targets; + $files{$target}{needs}{$need} = 'global'; + for (@{$global{needs}{$need}}) { + $files{$_}{needs}{$need} = 'extern' if $_ ne $target; + } + } +} + +for $filename (@files) { + exists $files{$filename} or next; + + info("=== Analyzing $filename ==="); + + my %file = %{$files{$filename}}; + my $func; + my $c = $file{code}; + my $warnings = 0; + + for $func (sort keys %{$file{uses_Perl}}) { + if ($API{$func}{varargs}) { + unless ($API{$func}{nothxarg}) { + my $changes = ($c =~ s{\b(Perl_$func\s*\(\s*)(?!aTHX_?)(\)|[^\s)]*\))} + { $1 . ($2 eq ')' ? 'aTHX' : 'aTHX_ ') . $2 }ge); + if ($changes) { + warning("Doesn't pass interpreter argument aTHX to Perl_$func"); + $file{changes} += $changes; + } + } + } + else { + warning("Uses Perl_$func instead of $func"); + $file{changes} += ($c =~ s{\bPerl_$func(\s*)\((\s*aTHX_?)?\s*} + {$func$1(}g); + } + } + + for $func (sort keys %{$file{uses_replace}}) { + warning("Uses $func instead of $replace{$func}"); + $file{changes} += ($c =~ s/\b$func\b/$replace{$func}/g); + } + + for $func (sort keys %{$file{uses_provided}}) { + if ($file{uses}{$func}) { + if (exists $file{uses_deps}{$func}) { + diag("Uses $func, which depends on ", join(', ', @{$file{uses_deps}{$func}})); + } + else { + diag("Uses $func"); + } + } + $warnings += hint($func); + } + + unless ($opt{quiet}) { + for $func (sort keys %{$file{uses_todo}}) { + print "*** WARNING: Uses $func, which may not be portable below perl ", + format_version($API{$func}{todo}), ", even with '$ppport'\n"; + $warnings++; + } + } + + for $func (sort keys %{$file{needed_static}}) { + my $message = ''; + if (not exists $file{uses}{$func}) { + $message = "No need to define NEED_$func if $func is never used"; + } + elsif (exists $file{needs}{$func} && $file{needs}{$func} ne 'static') { + $message = "No need to define NEED_$func when already needed globally"; + } + if ($message) { + diag($message); + $file{changes} += ($c =~ s/^$HS*#$HS*define$HS+NEED_$func\b.*$LF//mg); + } + } + + for $func (sort keys %{$file{needed_global}}) { + my $message = ''; + if (not exists $global{uses}{$func}) { + $message = "No need to define NEED_${func}_GLOBAL if $func is never used"; + } + elsif (exists $file{needs}{$func}) { + if ($file{needs}{$func} eq 'extern') { + $message = "No need to define NEED_${func}_GLOBAL when already needed globally"; + } + elsif ($file{needs}{$func} eq 'static') { + $message = "No need to define NEED_${func}_GLOBAL when only used in this file"; + } + } + if ($message) { + diag($message); + $file{changes} += ($c =~ s/^$HS*#$HS*define$HS+NEED_${func}_GLOBAL\b.*$LF//mg); + } + } + + $file{needs_inc_ppport} = keys %{$file{uses}}; + + if ($file{needs_inc_ppport}) { + my $pp = ''; + + for $func (sort keys %{$file{needs}}) { + my $type = $file{needs}{$func}; + next if $type eq 'extern'; + my $suffix = $type eq 'global' ? '_GLOBAL' : ''; + unless (exists $file{"needed_$type"}{$func}) { + if ($type eq 'global') { + diag("Files [@{$global{needs}{$func}}] need $func, adding global request"); + } + else { + diag("File needs $func, adding static request"); + } + $pp .= "#define NEED_$func$suffix\n"; + } + } + + if ($pp && ($c =~ s/^(?=$HS*#$HS*define$HS+NEED_\w+)/$pp/m)) { + $pp = ''; + $file{changes}++; + } + + unless ($file{has_inc_ppport}) { + diag("Needs to include '$ppport'"); + $pp .= qq(#include "$ppport"\n) + } + + if ($pp) { + $file{changes} += ($c =~ s/^($HS*#$HS*define$HS+NEED_\w+.*?)^/$1$pp/ms) + || ($c =~ s/^(?=$HS*#$HS*include.*\Q$ppport\E)/$pp/m) + || ($c =~ s/^($HS*#$HS*include.*XSUB.*\s*?)^/$1$pp/m) + || ($c =~ s/^/$pp/); + } + } + else { + if ($file{has_inc_ppport}) { + diag("No need to include '$ppport'"); + $file{changes} += ($c =~ s/^$HS*?#$HS*include.*\Q$ppport\E.*?$LF//m); + } + } + + # put back in our C comments + my $ix; + my $cppc = 0; + my @ccom = @{$file{ccom}}; + for $ix (0 .. $#ccom) { + if (!$opt{cplusplus} && $ccom[$ix] =~ s!^//!!) { + $cppc++; + $file{changes} += $c =~ s/$rccs$ix$rcce/$ccs$ccom[$ix] $cce/; + } + else { + $c =~ s/$rccs$ix$rcce/$ccom[$ix]/; + } + } + + if ($cppc) { + my $s = $cppc != 1 ? 's' : ''; + warning("Uses $cppc C++ style comment$s, which is not portable"); + } + + my $s = $warnings != 1 ? 's' : ''; + my $warn = $warnings ? " ($warnings warning$s)" : ''; + info("Analysis completed$warn"); + + if ($file{changes}) { + if (exists $opt{copy}) { + my $newfile = "$filename$opt{copy}"; + if (-e $newfile) { + error("'$newfile' already exists, refusing to write copy of '$filename'"); + } + else { + local *F; + if (open F, ">$newfile") { + info("Writing copy of '$filename' with changes to '$newfile'"); + print F $c; + close F; + } + else { + error("Cannot open '$newfile' for writing: $!"); + } + } + } + elsif (exists $opt{patch} || $opt{changes}) { + if (exists $opt{patch}) { + unless ($patch_opened) { + if (open PATCH, ">$opt{patch}") { + $patch_opened = 1; + } + else { + error("Cannot open '$opt{patch}' for writing: $!"); + delete $opt{patch}; + $opt{changes} = 1; + goto fallback; + } + } + mydiff(\*PATCH, $filename, $c); + } + else { +fallback: + info("Suggested changes:"); + mydiff(\*STDOUT, $filename, $c); + } + } + else { + my $s = $file{changes} == 1 ? '' : 's'; + info("$file{changes} potentially required change$s detected"); + } + } + else { + info("Looks good"); + } +} + +close PATCH if $patch_opened; + +exit 0; + + +sub try_use { eval "use @_;"; return $@ eq '' } + +sub mydiff +{ + local *F = shift; + my($file, $str) = @_; + my $diff; + + if (exists $opt{diff}) { + $diff = run_diff($opt{diff}, $file, $str); + } + + if (!defined $diff and try_use('Text::Diff')) { + $diff = Text::Diff::diff($file, \$str, { STYLE => 'Unified' }); + $diff = <
$tmp") { + print F $str; + close F; + + if (open F, "$prog $file $tmp |") { + while () { + s/\Q$tmp\E/$file.patched/; + $diff .= $_; + } + close F; + unlink $tmp; + return $diff; + } + + unlink $tmp; + } + else { + error("Cannot open '$tmp' for writing: $!"); + } + + return undef; +} + +sub rec_depend +{ + my($func, $seen) = @_; + return () unless exists $depends{$func}; + $seen = {%{$seen||{}}}; + return () if $seen->{$func}++; + my %s; + grep !$s{$_}++, map { ($_, rec_depend($_, $seen)) } @{$depends{$func}}; +} + +sub parse_version +{ + my $ver = shift; + + if ($ver =~ /^(\d+)\.(\d+)\.(\d+)$/) { + return ($1, $2, $3); + } + elsif ($ver !~ /^\d+\.[\d_]+$/) { + die "cannot parse version '$ver'\n"; + } + + $ver =~ s/_//g; + $ver =~ s/$/000000/; + + my($r,$v,$s) = $ver =~ /(\d+)\.(\d{3})(\d{3})/; + + $v = int $v; + $s = int $s; + + if ($r < 5 || ($r == 5 && $v < 6)) { + if ($s % 10) { + die "cannot parse version '$ver'\n"; + } + } + + return ($r, $v, $s); +} + +sub format_version +{ + my $ver = shift; + + $ver =~ s/$/000000/; + my($r,$v,$s) = $ver =~ /(\d+)\.(\d{3})(\d{3})/; + + $v = int $v; + $s = int $s; + + if ($r < 5 || ($r == 5 && $v < 6)) { + if ($s % 10) { + die "invalid version '$ver'\n"; + } + $s /= 10; + + $ver = sprintf "%d.%03d", $r, $v; + $s > 0 and $ver .= sprintf "_%02d", $s; + + return $ver; + } + + return sprintf "%d.%d.%d", $r, $v, $s; +} + +sub info +{ + $opt{quiet} and return; + print @_, "\n"; +} + +sub diag +{ + $opt{quiet} and return; + $opt{diag} and print @_, "\n"; +} + +sub warning +{ + $opt{quiet} and return; + print "*** ", @_, "\n"; +} + +sub error +{ + print "*** ERROR: ", @_, "\n"; +} + +my %given_hints; +my %given_warnings; +sub hint +{ + $opt{quiet} and return; + my $func = shift; + my $rv = 0; + if (exists $warnings{$func} && !$given_warnings{$func}++) { + my $warn = $warnings{$func}; + $warn =~ s!^!*** !mg; + print "*** WARNING: $func\n", $warn; + $rv++; + } + if ($opt{hints} && exists $hints{$func} && !$given_hints{$func}++) { + my $hint = $hints{$func}; + $hint =~ s/^/ /mg; + print " --- hint for $func ---\n", $hint; + } + $rv; +} + +sub usage +{ + my($usage) = do { local(@ARGV,$/)=($0); <> } =~ /^=head\d$HS+SYNOPSIS\s*^(.*?)\s*^=/ms; + my %M = ( 'I' => '*' ); + $usage =~ s/^\s*perl\s+\S+/$^X $0/; + $usage =~ s/([A-Z])<([^>]+)>/$M{$1}$2$M{$1}/g; + + print < }; + my($copy) = $self =~ /^=head\d\s+COPYRIGHT\s*^(.*?)^=\w+/ms; + $copy =~ s/^(?=\S+)/ /gms; + $self =~ s/^$HS+Do NOT edit.*?(?=^-)/$copy/ms; + $self =~ s/^SKIP.*(?=^__DATA__)/SKIP +if (\@ARGV && \$ARGV[0] eq '--unstrip') { + eval { require Devel::PPPort }; + \$@ and die "Cannot require Devel::PPPort, please install.\\n"; + if (eval \$Devel::PPPort::VERSION < $VERSION) { + die "$0 was originally generated with Devel::PPPort $VERSION.\\n" + . "Your Devel::PPPort is only version \$Devel::PPPort::VERSION.\\n" + . "Please install a newer version, or --unstrip will not work.\\n"; + } + Devel::PPPort::WriteFile(\$0); + exit 0; +} +print <$0" or die "cannot strip $0: $!\n"; + print OUT "$pl$c\n"; + + exit 0; +} + +__DATA__ +*/ + +#ifndef _P_P_PORTABILITY_H_ +#define _P_P_PORTABILITY_H_ + +#ifndef DPPP_NAMESPACE +# define DPPP_NAMESPACE DPPP_ +#endif + +#define DPPP_CAT2(x,y) CAT2(x,y) +#define DPPP_(name) DPPP_CAT2(DPPP_NAMESPACE, name) + +#ifndef PERL_REVISION +# if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION)) +# define PERL_PATCHLEVEL_H_IMPLICIT +# include +# endif +# if !(defined(PERL_VERSION) || (defined(SUBVERSION) && defined(PATCHLEVEL))) +# include +# endif +# ifndef PERL_REVISION +# define PERL_REVISION (5) + /* Replace: 1 */ +# define PERL_VERSION PATCHLEVEL +# define PERL_SUBVERSION SUBVERSION + /* Replace PERL_PATCHLEVEL with PERL_VERSION */ + /* Replace: 0 */ +# endif +#endif + +#define _dpppDEC2BCD(dec) ((((dec)/100)<<8)|((((dec)%100)/10)<<4)|((dec)%10)) +#define PERL_BCDVERSION ((_dpppDEC2BCD(PERL_REVISION)<<24)|(_dpppDEC2BCD(PERL_VERSION)<<12)|_dpppDEC2BCD(PERL_SUBVERSION)) + +/* It is very unlikely that anyone will try to use this with Perl 6 + (or greater), but who knows. + */ +#if PERL_REVISION != 5 +# error ppport.h only works with Perl version 5 +#endif /* PERL_REVISION != 5 */ +#ifndef dTHR +# define dTHR dNOOP +#endif +#ifndef dTHX +# define dTHX dNOOP +#endif + +#ifndef dTHXa +# define dTHXa(x) dNOOP +#endif +#ifndef pTHX +# define pTHX void +#endif + +#ifndef pTHX_ +# define pTHX_ +#endif + +#ifndef aTHX +# define aTHX +#endif + +#ifndef aTHX_ +# define aTHX_ +#endif + +#if (PERL_BCDVERSION < 0x5006000) +# ifdef USE_THREADS +# define aTHXR thr +# define aTHXR_ thr, +# else +# define aTHXR +# define aTHXR_ +# endif +# define dTHXR dTHR +#else +# define aTHXR aTHX +# define aTHXR_ aTHX_ +# define dTHXR dTHX +#endif +#ifndef dTHXoa +# define dTHXoa(x) dTHXa(x) +#endif + +#ifdef I_LIMITS +# include +#endif + +#ifndef PERL_UCHAR_MIN +# define PERL_UCHAR_MIN ((unsigned char)0) +#endif + +#ifndef PERL_UCHAR_MAX +# ifdef UCHAR_MAX +# define PERL_UCHAR_MAX ((unsigned char)UCHAR_MAX) +# else +# ifdef MAXUCHAR +# define PERL_UCHAR_MAX ((unsigned char)MAXUCHAR) +# else +# define PERL_UCHAR_MAX ((unsigned char)~(unsigned)0) +# endif +# endif +#endif + +#ifndef PERL_USHORT_MIN +# define PERL_USHORT_MIN ((unsigned short)0) +#endif + +#ifndef PERL_USHORT_MAX +# ifdef USHORT_MAX +# define PERL_USHORT_MAX ((unsigned short)USHORT_MAX) +# else +# ifdef MAXUSHORT +# define PERL_USHORT_MAX ((unsigned short)MAXUSHORT) +# else +# ifdef USHRT_MAX +# define PERL_USHORT_MAX ((unsigned short)USHRT_MAX) +# else +# define PERL_USHORT_MAX ((unsigned short)~(unsigned)0) +# endif +# endif +# endif +#endif + +#ifndef PERL_SHORT_MAX +# ifdef SHORT_MAX +# define PERL_SHORT_MAX ((short)SHORT_MAX) +# else +# ifdef MAXSHORT /* Often used in */ +# define PERL_SHORT_MAX ((short)MAXSHORT) +# else +# ifdef SHRT_MAX +# define PERL_SHORT_MAX ((short)SHRT_MAX) +# else +# define PERL_SHORT_MAX ((short) (PERL_USHORT_MAX >> 1)) +# endif +# endif +# endif +#endif + +#ifndef PERL_SHORT_MIN +# ifdef SHORT_MIN +# define PERL_SHORT_MIN ((short)SHORT_MIN) +# else +# ifdef MINSHORT +# define PERL_SHORT_MIN ((short)MINSHORT) +# else +# ifdef SHRT_MIN +# define PERL_SHORT_MIN ((short)SHRT_MIN) +# else +# define PERL_SHORT_MIN (-PERL_SHORT_MAX - ((3 & -1) == 3)) +# endif +# endif +# endif +#endif + +#ifndef PERL_UINT_MAX +# ifdef UINT_MAX +# define PERL_UINT_MAX ((unsigned int)UINT_MAX) +# else +# ifdef MAXUINT +# define PERL_UINT_MAX ((unsigned int)MAXUINT) +# else +# define PERL_UINT_MAX (~(unsigned int)0) +# endif +# endif +#endif + +#ifndef PERL_UINT_MIN +# define PERL_UINT_MIN ((unsigned int)0) +#endif + +#ifndef PERL_INT_MAX +# ifdef INT_MAX +# define PERL_INT_MAX ((int)INT_MAX) +# else +# ifdef MAXINT /* Often used in */ +# define PERL_INT_MAX ((int)MAXINT) +# else +# define PERL_INT_MAX ((int)(PERL_UINT_MAX >> 1)) +# endif +# endif +#endif + +#ifndef PERL_INT_MIN +# ifdef INT_MIN +# define PERL_INT_MIN ((int)INT_MIN) +# else +# ifdef MININT +# define PERL_INT_MIN ((int)MININT) +# else +# define PERL_INT_MIN (-PERL_INT_MAX - ((3 & -1) == 3)) +# endif +# endif +#endif + +#ifndef PERL_ULONG_MAX +# ifdef ULONG_MAX +# define PERL_ULONG_MAX ((unsigned long)ULONG_MAX) +# else +# ifdef MAXULONG +# define PERL_ULONG_MAX ((unsigned long)MAXULONG) +# else +# define PERL_ULONG_MAX (~(unsigned long)0) +# endif +# endif +#endif + +#ifndef PERL_ULONG_MIN +# define PERL_ULONG_MIN ((unsigned long)0L) +#endif + +#ifndef PERL_LONG_MAX +# ifdef LONG_MAX +# define PERL_LONG_MAX ((long)LONG_MAX) +# else +# ifdef MAXLONG +# define PERL_LONG_MAX ((long)MAXLONG) +# else +# define PERL_LONG_MAX ((long) (PERL_ULONG_MAX >> 1)) +# endif +# endif +#endif + +#ifndef PERL_LONG_MIN +# ifdef LONG_MIN +# define PERL_LONG_MIN ((long)LONG_MIN) +# else +# ifdef MINLONG +# define PERL_LONG_MIN ((long)MINLONG) +# else +# define PERL_LONG_MIN (-PERL_LONG_MAX - ((3 & -1) == 3)) +# endif +# endif +#endif + +#if defined(HAS_QUAD) && (defined(convex) || defined(uts)) +# ifndef PERL_UQUAD_MAX +# ifdef ULONGLONG_MAX +# define PERL_UQUAD_MAX ((unsigned long long)ULONGLONG_MAX) +# else +# ifdef MAXULONGLONG +# define PERL_UQUAD_MAX ((unsigned long long)MAXULONGLONG) +# else +# define PERL_UQUAD_MAX (~(unsigned long long)0) +# endif +# endif +# endif + +# ifndef PERL_UQUAD_MIN +# define PERL_UQUAD_MIN ((unsigned long long)0L) +# endif + +# ifndef PERL_QUAD_MAX +# ifdef LONGLONG_MAX +# define PERL_QUAD_MAX ((long long)LONGLONG_MAX) +# else +# ifdef MAXLONGLONG +# define PERL_QUAD_MAX ((long long)MAXLONGLONG) +# else +# define PERL_QUAD_MAX ((long long) (PERL_UQUAD_MAX >> 1)) +# endif +# endif +# endif + +# ifndef PERL_QUAD_MIN +# ifdef LONGLONG_MIN +# define PERL_QUAD_MIN ((long long)LONGLONG_MIN) +# else +# ifdef MINLONGLONG +# define PERL_QUAD_MIN ((long long)MINLONGLONG) +# else +# define PERL_QUAD_MIN (-PERL_QUAD_MAX - ((3 & -1) == 3)) +# endif +# endif +# endif +#endif + +/* This is based on code from 5.003 perl.h */ +#ifdef HAS_QUAD +# ifdef cray +#ifndef IVTYPE +# define IVTYPE int +#endif + +#ifndef IV_MIN +# define IV_MIN PERL_INT_MIN +#endif + +#ifndef IV_MAX +# define IV_MAX PERL_INT_MAX +#endif + +#ifndef UV_MIN +# define UV_MIN PERL_UINT_MIN +#endif + +#ifndef UV_MAX +# define UV_MAX PERL_UINT_MAX +#endif + +# ifdef INTSIZE +#ifndef IVSIZE +# define IVSIZE INTSIZE +#endif + +# endif +# else +# if defined(convex) || defined(uts) +#ifndef IVTYPE +# define IVTYPE long long +#endif + +#ifndef IV_MIN +# define IV_MIN PERL_QUAD_MIN +#endif + +#ifndef IV_MAX +# define IV_MAX PERL_QUAD_MAX +#endif + +#ifndef UV_MIN +# define UV_MIN PERL_UQUAD_MIN +#endif + +#ifndef UV_MAX +# define UV_MAX PERL_UQUAD_MAX +#endif + +# ifdef LONGLONGSIZE +#ifndef IVSIZE +# define IVSIZE LONGLONGSIZE +#endif + +# endif +# else +#ifndef IVTYPE +# define IVTYPE long +#endif + +#ifndef IV_MIN +# define IV_MIN PERL_LONG_MIN +#endif + +#ifndef IV_MAX +# define IV_MAX PERL_LONG_MAX +#endif + +#ifndef UV_MIN +# define UV_MIN PERL_ULONG_MIN +#endif + +#ifndef UV_MAX +# define UV_MAX PERL_ULONG_MAX +#endif + +# ifdef LONGSIZE +#ifndef IVSIZE +# define IVSIZE LONGSIZE +#endif + +# endif +# endif +# endif +#ifndef IVSIZE +# define IVSIZE 8 +#endif + +#ifndef LONGSIZE +# define LONGSIZE 8 +#endif + +#ifndef PERL_QUAD_MIN +# define PERL_QUAD_MIN IV_MIN +#endif + +#ifndef PERL_QUAD_MAX +# define PERL_QUAD_MAX IV_MAX +#endif + +#ifndef PERL_UQUAD_MIN +# define PERL_UQUAD_MIN UV_MIN +#endif + +#ifndef PERL_UQUAD_MAX +# define PERL_UQUAD_MAX UV_MAX +#endif + +#else +#ifndef IVTYPE +# define IVTYPE long +#endif + +#ifndef LONGSIZE +# define LONGSIZE 4 +#endif + +#ifndef IV_MIN +# define IV_MIN PERL_LONG_MIN +#endif + +#ifndef IV_MAX +# define IV_MAX PERL_LONG_MAX +#endif + +#ifndef UV_MIN +# define UV_MIN PERL_ULONG_MIN +#endif + +#ifndef UV_MAX +# define UV_MAX PERL_ULONG_MAX +#endif + +#endif + +#ifndef IVSIZE +# ifdef LONGSIZE +# define IVSIZE LONGSIZE +# else +# define IVSIZE 4 /* A bold guess, but the best we can make. */ +# endif +#endif +#ifndef UVTYPE +# define UVTYPE unsigned IVTYPE +#endif + +#ifndef UVSIZE +# define UVSIZE IVSIZE +#endif +#ifndef sv_setuv +# define sv_setuv(sv, uv) \ + STMT_START { \ + UV TeMpUv = uv; \ + if (TeMpUv <= IV_MAX) \ + sv_setiv(sv, TeMpUv); \ + else \ + sv_setnv(sv, (double)TeMpUv); \ + } STMT_END +#endif +#ifndef newSVuv +# define newSVuv(uv) ((uv) <= IV_MAX ? newSViv((IV)uv) : newSVnv((NV)uv)) +#endif +#ifndef sv_2uv +# define sv_2uv(sv) ((PL_Sv = (sv)), (UV) (SvNOK(PL_Sv) ? SvNV(PL_Sv) : sv_2nv(PL_Sv))) +#endif + +#ifndef SvUVX +# define SvUVX(sv) ((UV)SvIVX(sv)) +#endif + +#ifndef SvUVXx +# define SvUVXx(sv) SvUVX(sv) +#endif + +#ifndef SvUV +# define SvUV(sv) (SvIOK(sv) ? SvUVX(sv) : sv_2uv(sv)) +#endif + +#ifndef SvUVx +# define SvUVx(sv) ((PL_Sv = (sv)), SvUV(PL_Sv)) +#endif + +/* Hint: sv_uv + * Always use the SvUVx() macro instead of sv_uv(). + */ +#ifndef sv_uv +# define sv_uv(sv) SvUVx(sv) +#endif + +#if !defined(SvUOK) && defined(SvIOK_UV) +# define SvUOK(sv) SvIOK_UV(sv) +#endif +#ifndef XST_mUV +# define XST_mUV(i,v) (ST(i) = sv_2mortal(newSVuv(v)) ) +#endif + +#ifndef XSRETURN_UV +# define XSRETURN_UV(v) STMT_START { XST_mUV(0,v); XSRETURN(1); } STMT_END +#endif +#ifndef PUSHu +# define PUSHu(u) STMT_START { sv_setuv(TARG, (UV)(u)); PUSHTARG; } STMT_END +#endif + +#ifndef XPUSHu +# define XPUSHu(u) STMT_START { sv_setuv(TARG, (UV)(u)); XPUSHTARG; } STMT_END +#endif + +#ifdef HAS_MEMCMP +#ifndef memNE +# define memNE(s1,s2,l) (memcmp(s1,s2,l)) +#endif + +#ifndef memEQ +# define memEQ(s1,s2,l) (!memcmp(s1,s2,l)) +#endif + +#else +#ifndef memNE +# define memNE(s1,s2,l) (bcmp(s1,s2,l)) +#endif + +#ifndef memEQ +# define memEQ(s1,s2,l) (!bcmp(s1,s2,l)) +#endif + +#endif +#ifndef memEQs +# define memEQs(s1, l, s2) \ + (sizeof(s2)-1 == l && memEQ(s1, (s2 ""), (sizeof(s2)-1))) +#endif + +#ifndef memNEs +# define memNEs(s1, l, s2) !memEQs(s1, l, s2) +#endif +#ifndef MoveD +# define MoveD(s,d,n,t) memmove((char*)(d),(char*)(s), (n) * sizeof(t)) +#endif + +#ifndef CopyD +# define CopyD(s,d,n,t) memcpy((char*)(d),(char*)(s), (n) * sizeof(t)) +#endif + +#ifdef HAS_MEMSET +#ifndef ZeroD +# define ZeroD(d,n,t) memzero((char*)(d), (n) * sizeof(t)) +#endif + +#else +#ifndef ZeroD +# define ZeroD(d,n,t) ((void)memzero((char*)(d), (n) * sizeof(t)), d) +#endif + +#endif +#ifndef PoisonWith +# define PoisonWith(d,n,t,b) (void)memset((char*)(d), (U8)(b), (n) * sizeof(t)) +#endif + +#ifndef PoisonNew +# define PoisonNew(d,n,t) PoisonWith(d,n,t,0xAB) +#endif + +#ifndef PoisonFree +# define PoisonFree(d,n,t) PoisonWith(d,n,t,0xEF) +#endif + +#ifndef Poison +# define Poison(d,n,t) PoisonFree(d,n,t) +#endif +#ifndef Newx +# define Newx(v,n,t) New(0,v,n,t) +#endif + +#ifndef Newxc +# define Newxc(v,n,t,c) Newc(0,v,n,t,c) +#endif + +#ifndef Newxz +# define Newxz(v,n,t) Newz(0,v,n,t) +#endif + +#ifndef PERL_UNUSED_DECL +# ifdef HASATTRIBUTE +# if (defined(__GNUC__) && defined(__cplusplus)) || defined(__INTEL_COMPILER) +# define PERL_UNUSED_DECL +# else +# define PERL_UNUSED_DECL __attribute__((unused)) +# endif +# else +# define PERL_UNUSED_DECL +# endif +#endif + +#ifndef PERL_UNUSED_ARG +# if defined(lint) && defined(S_SPLINT_S) /* www.splint.org */ +# include +# define PERL_UNUSED_ARG(x) NOTE(ARGUNUSED(x)) +# else +# define PERL_UNUSED_ARG(x) ((void)x) +# endif +#endif + +#ifndef PERL_UNUSED_VAR +# define PERL_UNUSED_VAR(x) ((void)x) +#endif + +#ifndef PERL_UNUSED_CONTEXT +# ifdef USE_ITHREADS +# define PERL_UNUSED_CONTEXT PERL_UNUSED_ARG(my_perl) +# else +# define PERL_UNUSED_CONTEXT +# endif +#endif +#ifndef NOOP +# define NOOP /*EMPTY*/(void)0 +#endif + +#ifndef dNOOP +# define dNOOP extern int /*@unused@*/ Perl___notused PERL_UNUSED_DECL +#endif + +#ifndef NVTYPE +# if defined(USE_LONG_DOUBLE) && defined(HAS_LONG_DOUBLE) +# define NVTYPE long double +# else +# define NVTYPE double +# endif +typedef NVTYPE NV; +#endif + +#ifndef INT2PTR +# if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE) +# define PTRV UV +# define INT2PTR(any,d) (any)(d) +# else +# if PTRSIZE == LONGSIZE +# define PTRV unsigned long +# else +# define PTRV unsigned +# endif +# define INT2PTR(any,d) (any)(PTRV)(d) +# endif +#endif + +#ifndef PTR2ul +# if PTRSIZE == LONGSIZE +# define PTR2ul(p) (unsigned long)(p) +# else +# define PTR2ul(p) INT2PTR(unsigned long,p) +# endif +#endif +#ifndef PTR2nat +# define PTR2nat(p) (PTRV)(p) +#endif + +#ifndef NUM2PTR +# define NUM2PTR(any,d) (any)PTR2nat(d) +#endif + +#ifndef PTR2IV +# define PTR2IV(p) INT2PTR(IV,p) +#endif + +#ifndef PTR2UV +# define PTR2UV(p) INT2PTR(UV,p) +#endif + +#ifndef PTR2NV +# define PTR2NV(p) NUM2PTR(NV,p) +#endif + +#undef START_EXTERN_C +#undef END_EXTERN_C +#undef EXTERN_C +#ifdef __cplusplus +# define START_EXTERN_C extern "C" { +# define END_EXTERN_C } +# define EXTERN_C extern "C" +#else +# define START_EXTERN_C +# define END_EXTERN_C +# define EXTERN_C extern +#endif + +#if defined(PERL_GCC_PEDANTIC) +# ifndef PERL_GCC_BRACE_GROUPS_FORBIDDEN +# define PERL_GCC_BRACE_GROUPS_FORBIDDEN +# endif +#endif + +#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) && !defined(__cplusplus) +# ifndef PERL_USE_GCC_BRACE_GROUPS +# define PERL_USE_GCC_BRACE_GROUPS +# endif +#endif + +#undef STMT_START +#undef STMT_END +#ifdef PERL_USE_GCC_BRACE_GROUPS +# define STMT_START (void)( /* gcc supports ``({ STATEMENTS; })'' */ +# define STMT_END ) +#else +# if defined(VOIDFLAGS) && (VOIDFLAGS) && (defined(sun) || defined(__sun__)) && !defined(__GNUC__) +# define STMT_START if (1) +# define STMT_END else (void)0 +# else +# define STMT_START do +# define STMT_END while (0) +# endif +#endif +#ifndef boolSV +# define boolSV(b) ((b) ? &PL_sv_yes : &PL_sv_no) +#endif + +/* DEFSV appears first in 5.004_56 */ +#ifndef DEFSV +# define DEFSV GvSV(PL_defgv) +#endif + +#ifndef SAVE_DEFSV +# define SAVE_DEFSV SAVESPTR(GvSV(PL_defgv)) +#endif + +#ifndef DEFSV_set +# define DEFSV_set(sv) (DEFSV = (sv)) +#endif + +/* Older perls (<=5.003) lack AvFILLp */ +#ifndef AvFILLp +# define AvFILLp AvFILL +#endif +#ifndef ERRSV +# define ERRSV get_sv("@",FALSE) +#endif + +/* Hint: gv_stashpvn + * This function's backport doesn't support the length parameter, but + * rather ignores it. Portability can only be ensured if the length + * parameter is used for speed reasons, but the length can always be + * correctly computed from the string argument. + */ +#ifndef gv_stashpvn +# define gv_stashpvn(str,len,create) gv_stashpv(str,create) +#endif + +/* Replace: 1 */ +#ifndef get_cv +# define get_cv perl_get_cv +#endif + +#ifndef get_sv +# define get_sv perl_get_sv +#endif + +#ifndef get_av +# define get_av perl_get_av +#endif + +#ifndef get_hv +# define get_hv perl_get_hv +#endif + +/* Replace: 0 */ +#ifndef dUNDERBAR +# define dUNDERBAR dNOOP +#endif + +#ifndef UNDERBAR +# define UNDERBAR DEFSV +#endif +#ifndef dAX +# define dAX I32 ax = MARK - PL_stack_base + 1 +#endif + +#ifndef dITEMS +# define dITEMS I32 items = SP - MARK +#endif +#ifndef dXSTARG +# define dXSTARG SV * targ = sv_newmortal() +#endif +#ifndef dAXMARK +# define dAXMARK I32 ax = POPMARK; \ + register SV ** const mark = PL_stack_base + ax++ +#endif +#ifndef XSprePUSH +# define XSprePUSH (sp = PL_stack_base + ax - 1) +#endif + +#if (PERL_BCDVERSION < 0x5005000) +# undef XSRETURN +# define XSRETURN(off) \ + STMT_START { \ + PL_stack_sp = PL_stack_base + ax + ((off) - 1); \ + return; \ + } STMT_END +#endif +#ifndef XSPROTO +# define XSPROTO(name) void name(pTHX_ CV* cv) +#endif + +#ifndef SVfARG +# define SVfARG(p) ((void*)(p)) +#endif +#ifndef PERL_ABS +# define PERL_ABS(x) ((x) < 0 ? -(x) : (x)) +#endif +#ifndef dVAR +# define dVAR dNOOP +#endif +#ifndef SVf +# define SVf "_" +#endif +#ifndef UTF8_MAXBYTES +# define UTF8_MAXBYTES UTF8_MAXLEN +#endif +#ifndef CPERLscope +# define CPERLscope(x) x +#endif +#ifndef PERL_HASH +# define PERL_HASH(hash,str,len) \ + STMT_START { \ + const char *s_PeRlHaSh = str; \ + I32 i_PeRlHaSh = len; \ + U32 hash_PeRlHaSh = 0; \ + while (i_PeRlHaSh--) \ + hash_PeRlHaSh = hash_PeRlHaSh * 33 + *s_PeRlHaSh++; \ + (hash) = hash_PeRlHaSh; \ + } STMT_END +#endif + +#ifndef PERLIO_FUNCS_DECL +# ifdef PERLIO_FUNCS_CONST +# define PERLIO_FUNCS_DECL(funcs) const PerlIO_funcs funcs +# define PERLIO_FUNCS_CAST(funcs) (PerlIO_funcs*)(funcs) +# else +# define PERLIO_FUNCS_DECL(funcs) PerlIO_funcs funcs +# define PERLIO_FUNCS_CAST(funcs) (funcs) +# endif +#endif + +/* provide these typedefs for older perls */ +#if (PERL_BCDVERSION < 0x5009003) + +# ifdef ARGSproto +typedef OP* (CPERLscope(*Perl_ppaddr_t))(ARGSproto); +# else +typedef OP* (CPERLscope(*Perl_ppaddr_t))(pTHX); +# endif + +typedef OP* (CPERLscope(*Perl_check_t)) (pTHX_ OP*); + +#endif +#ifndef isPSXSPC +# define isPSXSPC(c) (isSPACE(c) || (c) == '\v') +#endif + +#ifndef isBLANK +# define isBLANK(c) ((c) == ' ' || (c) == '\t') +#endif + +#ifdef EBCDIC +#ifndef isALNUMC +# define isALNUMC(c) isalnum(c) +#endif + +#ifndef isASCII +# define isASCII(c) isascii(c) +#endif + +#ifndef isCNTRL +# define isCNTRL(c) iscntrl(c) +#endif + +#ifndef isGRAPH +# define isGRAPH(c) isgraph(c) +#endif + +#ifndef isPRINT +# define isPRINT(c) isprint(c) +#endif + +#ifndef isPUNCT +# define isPUNCT(c) ispunct(c) +#endif + +#ifndef isXDIGIT +# define isXDIGIT(c) isxdigit(c) +#endif + +#else +# if (PERL_BCDVERSION < 0x5010000) +/* Hint: isPRINT + * The implementation in older perl versions includes all of the + * isSPACE() characters, which is wrong. The version provided by + * Devel::PPPort always overrides a present buggy version. + */ +# undef isPRINT +# endif + +#ifdef HAS_QUAD +# define WIDEST_UTYPE U64TYPE +#else +# define WIDEST_UTYPE U32 +#endif +#ifndef isALNUMC +# define isALNUMC(c) (isALPHA(c) || isDIGIT(c)) +#endif + +#ifndef isASCII +# define isASCII(c) ((WIDEST_UTYPE) (c) <= 127) +#endif + +#ifndef isCNTRL +# define isCNTRL(c) ((WIDEST_UTYPE) (c) < ' ' || (c) == 127) +#endif + +#ifndef isGRAPH +# define isGRAPH(c) (isALNUM(c) || isPUNCT(c)) +#endif + +#ifndef isPRINT +# define isPRINT(c) (((c) >= 32 && (c) < 127)) +#endif + +#ifndef isPUNCT +# define isPUNCT(c) (((c) >= 33 && (c) <= 47) || ((c) >= 58 && (c) <= 64) || ((c) >= 91 && (c) <= 96) || ((c) >= 123 && (c) <= 126)) +#endif + +#ifndef isXDIGIT +# define isXDIGIT(c) (isDIGIT(c) || ((c) >= 'a' && (c) <= 'f') || ((c) >= 'A' && (c) <= 'F')) +#endif + +#endif + +#ifndef PERL_SIGNALS_UNSAFE_FLAG + +#define PERL_SIGNALS_UNSAFE_FLAG 0x0001 + +#if (PERL_BCDVERSION < 0x5008000) +# define D_PPP_PERL_SIGNALS_INIT PERL_SIGNALS_UNSAFE_FLAG +#else +# define D_PPP_PERL_SIGNALS_INIT 0 +#endif + +#if defined(NEED_PL_signals) +static U32 DPPP_(my_PL_signals) = D_PPP_PERL_SIGNALS_INIT; +#elif defined(NEED_PL_signals_GLOBAL) +U32 DPPP_(my_PL_signals) = D_PPP_PERL_SIGNALS_INIT; +#else +extern U32 DPPP_(my_PL_signals); +#endif +#define PL_signals DPPP_(my_PL_signals) + +#endif + +/* Hint: PL_ppaddr + * Calling an op via PL_ppaddr requires passing a context argument + * for threaded builds. Since the context argument is different for + * 5.005 perls, you can use aTHXR (supplied by ppport.h), which will + * automatically be defined as the correct argument. + */ + +#if (PERL_BCDVERSION <= 0x5005005) +/* Replace: 1 */ +# define PL_ppaddr ppaddr +# define PL_no_modify no_modify +/* Replace: 0 */ +#endif + +#if (PERL_BCDVERSION <= 0x5004005) +/* Replace: 1 */ +# define PL_DBsignal DBsignal +# define PL_DBsingle DBsingle +# define PL_DBsub DBsub +# define PL_DBtrace DBtrace +# define PL_Sv Sv +# define PL_bufend bufend +# define PL_bufptr bufptr +# define PL_compiling compiling +# define PL_copline copline +# define PL_curcop curcop +# define PL_curstash curstash +# define PL_debstash debstash +# define PL_defgv defgv +# define PL_diehook diehook +# define PL_dirty dirty +# define PL_dowarn dowarn +# define PL_errgv errgv +# define PL_error_count error_count +# define PL_expect expect +# define PL_hexdigit hexdigit +# define PL_hints hints +# define PL_in_my in_my +# define PL_laststatval laststatval +# define PL_lex_state lex_state +# define PL_lex_stuff lex_stuff +# define PL_linestr linestr +# define PL_na na +# define PL_perl_destruct_level perl_destruct_level +# define PL_perldb perldb +# define PL_rsfp_filters rsfp_filters +# define PL_rsfp rsfp +# define PL_stack_base stack_base +# define PL_stack_sp stack_sp +# define PL_statcache statcache +# define PL_stdingv stdingv +# define PL_sv_arenaroot sv_arenaroot +# define PL_sv_no sv_no +# define PL_sv_undef sv_undef +# define PL_sv_yes sv_yes +# define PL_tainted tainted +# define PL_tainting tainting +# define PL_tokenbuf tokenbuf +/* Replace: 0 */ +#endif + +/* Warning: PL_parser + * For perl versions earlier than 5.9.5, this is an always + * non-NULL dummy. Also, it cannot be dereferenced. Don't + * use it if you can avoid is and unless you absolutely know + * what you're doing. + * If you always check that PL_parser is non-NULL, you can + * define DPPP_PL_parser_NO_DUMMY to avoid the creation of + * a dummy parser structure. + */ + +#if (PERL_BCDVERSION >= 0x5009005) +# ifdef DPPP_PL_parser_NO_DUMMY +# define D_PPP_my_PL_parser_var(var) ((PL_parser ? PL_parser : \ + (croak("panic: PL_parser == NULL in %s:%d", \ + __FILE__, __LINE__), (yy_parser *) NULL))->var) +# else +# ifdef DPPP_PL_parser_NO_DUMMY_WARNING +# define D_PPP_parser_dummy_warning(var) +# else +# define D_PPP_parser_dummy_warning(var) \ + warn("warning: dummy PL_" #var " used in %s:%d", __FILE__, __LINE__), +# endif +# define D_PPP_my_PL_parser_var(var) ((PL_parser ? PL_parser : \ + (D_PPP_parser_dummy_warning(var) &DPPP_(dummy_PL_parser)))->var) +#if defined(NEED_PL_parser) +static yy_parser DPPP_(dummy_PL_parser); +#elif defined(NEED_PL_parser_GLOBAL) +yy_parser DPPP_(dummy_PL_parser); +#else +extern yy_parser DPPP_(dummy_PL_parser); +#endif + +# endif + +/* PL_expect, PL_copline, PL_rsfp, PL_rsfp_filters, PL_linestr, PL_bufptr, PL_bufend, PL_lex_state, PL_lex_stuff, PL_tokenbuf depends on PL_parser */ +/* Warning: PL_expect, PL_copline, PL_rsfp, PL_rsfp_filters, PL_linestr, PL_bufptr, PL_bufend, PL_lex_state, PL_lex_stuff, PL_tokenbuf + * Do not use this variable unless you know exactly what you're + * doint. It is internal to the perl parser and may change or even + * be removed in the future. As of perl 5.9.5, you have to check + * for (PL_parser != NULL) for this variable to have any effect. + * An always non-NULL PL_parser dummy is provided for earlier + * perl versions. + * If PL_parser is NULL when you try to access this variable, a + * dummy is being accessed instead and a warning is issued unless + * you define DPPP_PL_parser_NO_DUMMY_WARNING. + * If DPPP_PL_parser_NO_DUMMY is defined, the code trying to access + * this variable will croak with a panic message. + */ + +# define PL_expect D_PPP_my_PL_parser_var(expect) +# define PL_copline D_PPP_my_PL_parser_var(copline) +# define PL_rsfp D_PPP_my_PL_parser_var(rsfp) +# define PL_rsfp_filters D_PPP_my_PL_parser_var(rsfp_filters) +# define PL_linestr D_PPP_my_PL_parser_var(linestr) +# define PL_bufptr D_PPP_my_PL_parser_var(bufptr) +# define PL_bufend D_PPP_my_PL_parser_var(bufend) +# define PL_lex_state D_PPP_my_PL_parser_var(lex_state) +# define PL_lex_stuff D_PPP_my_PL_parser_var(lex_stuff) +# define PL_tokenbuf D_PPP_my_PL_parser_var(tokenbuf) +# define PL_in_my D_PPP_my_PL_parser_var(in_my) +# define PL_in_my_stash D_PPP_my_PL_parser_var(in_my_stash) +# define PL_error_count D_PPP_my_PL_parser_var(error_count) + + +#else + +/* ensure that PL_parser != NULL and cannot be dereferenced */ +# define PL_parser ((void *) 1) + +#endif +#ifndef mPUSHs +# define mPUSHs(s) PUSHs(sv_2mortal(s)) +#endif + +#ifndef PUSHmortal +# define PUSHmortal PUSHs(sv_newmortal()) +#endif + +#ifndef mPUSHp +# define mPUSHp(p,l) sv_setpvn(PUSHmortal, (p), (l)) +#endif + +#ifndef mPUSHn +# define mPUSHn(n) sv_setnv(PUSHmortal, (NV)(n)) +#endif + +#ifndef mPUSHi +# define mPUSHi(i) sv_setiv(PUSHmortal, (IV)(i)) +#endif + +#ifndef mPUSHu +# define mPUSHu(u) sv_setuv(PUSHmortal, (UV)(u)) +#endif +#ifndef mXPUSHs +# define mXPUSHs(s) XPUSHs(sv_2mortal(s)) +#endif + +#ifndef XPUSHmortal +# define XPUSHmortal XPUSHs(sv_newmortal()) +#endif + +#ifndef mXPUSHp +# define mXPUSHp(p,l) STMT_START { EXTEND(sp,1); sv_setpvn(PUSHmortal, (p), (l)); } STMT_END +#endif + +#ifndef mXPUSHn +# define mXPUSHn(n) STMT_START { EXTEND(sp,1); sv_setnv(PUSHmortal, (NV)(n)); } STMT_END +#endif + +#ifndef mXPUSHi +# define mXPUSHi(i) STMT_START { EXTEND(sp,1); sv_setiv(PUSHmortal, (IV)(i)); } STMT_END +#endif + +#ifndef mXPUSHu +# define mXPUSHu(u) STMT_START { EXTEND(sp,1); sv_setuv(PUSHmortal, (UV)(u)); } STMT_END +#endif + +/* Replace: 1 */ +#ifndef call_sv +# define call_sv perl_call_sv +#endif + +#ifndef call_pv +# define call_pv perl_call_pv +#endif + +#ifndef call_argv +# define call_argv perl_call_argv +#endif + +#ifndef call_method +# define call_method perl_call_method +#endif +#ifndef eval_sv +# define eval_sv perl_eval_sv +#endif + +/* Replace: 0 */ +#ifndef PERL_LOADMOD_DENY +# define PERL_LOADMOD_DENY 0x1 +#endif + +#ifndef PERL_LOADMOD_NOIMPORT +# define PERL_LOADMOD_NOIMPORT 0x2 +#endif + +#ifndef PERL_LOADMOD_IMPORT_OPS +# define PERL_LOADMOD_IMPORT_OPS 0x4 +#endif + +#ifndef G_METHOD +# define G_METHOD 64 +# ifdef call_sv +# undef call_sv +# endif +# if (PERL_BCDVERSION < 0x5006000) +# define call_sv(sv, flags) ((flags) & G_METHOD ? perl_call_method((char *) SvPV_nolen_const(sv), \ + (flags) & ~G_METHOD) : perl_call_sv(sv, flags)) +# else +# define call_sv(sv, flags) ((flags) & G_METHOD ? Perl_call_method(aTHX_ (char *) SvPV_nolen_const(sv), \ + (flags) & ~G_METHOD) : Perl_call_sv(aTHX_ sv, flags)) +# endif +#endif + +/* Replace perl_eval_pv with eval_pv */ + +#ifndef eval_pv +#if defined(NEED_eval_pv) +static SV* DPPP_(my_eval_pv)(char *p, I32 croak_on_error); +static +#else +extern SV* DPPP_(my_eval_pv)(char *p, I32 croak_on_error); +#endif + +#ifdef eval_pv +# undef eval_pv +#endif +#define eval_pv(a,b) DPPP_(my_eval_pv)(aTHX_ a,b) +#define Perl_eval_pv DPPP_(my_eval_pv) + +#if defined(NEED_eval_pv) || defined(NEED_eval_pv_GLOBAL) + +SV* +DPPP_(my_eval_pv)(char *p, I32 croak_on_error) +{ + dSP; + SV* sv = newSVpv(p, 0); + + PUSHMARK(sp); + eval_sv(sv, G_SCALAR); + SvREFCNT_dec(sv); + + SPAGAIN; + sv = POPs; + PUTBACK; + + if (croak_on_error && SvTRUE(GvSV(errgv))) + croak(SvPVx(GvSV(errgv), na)); + + return sv; +} + +#endif +#endif + +#ifndef vload_module +#if defined(NEED_vload_module) +static void DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args); +static +#else +extern void DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args); +#endif + +#ifdef vload_module +# undef vload_module +#endif +#define vload_module(a,b,c,d) DPPP_(my_vload_module)(aTHX_ a,b,c,d) +#define Perl_vload_module DPPP_(my_vload_module) + +#if defined(NEED_vload_module) || defined(NEED_vload_module_GLOBAL) + +void +DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args) +{ + dTHR; + dVAR; + OP *veop, *imop; + + OP * const modname = newSVOP(OP_CONST, 0, name); + /* 5.005 has a somewhat hacky force_normal that doesn't croak on + SvREADONLY() if PL_compling is true. Current perls take care in + ck_require() to correctly turn off SvREADONLY before calling + force_normal_flags(). This seems a better fix than fudging PL_compling + */ + SvREADONLY_off(((SVOP*)modname)->op_sv); + modname->op_private |= OPpCONST_BARE; + if (ver) { + veop = newSVOP(OP_CONST, 0, ver); + } + else + veop = NULL; + if (flags & PERL_LOADMOD_NOIMPORT) { + imop = sawparens(newNULLLIST()); + } + else if (flags & PERL_LOADMOD_IMPORT_OPS) { + imop = va_arg(*args, OP*); + } + else { + SV *sv; + imop = NULL; + sv = va_arg(*args, SV*); + while (sv) { + imop = append_elem(OP_LIST, imop, newSVOP(OP_CONST, 0, sv)); + sv = va_arg(*args, SV*); + } + } + { + const line_t ocopline = PL_copline; + COP * const ocurcop = PL_curcop; + const int oexpect = PL_expect; + +#if (PERL_BCDVERSION >= 0x5004000) + utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(FALSE, 0), + veop, modname, imop); +#else + utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(), + modname, imop); +#endif + PL_expect = oexpect; + PL_copline = ocopline; + PL_curcop = ocurcop; + } +} + +#endif +#endif + +#ifndef load_module +#if defined(NEED_load_module) +static void DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...); +static +#else +extern void DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...); +#endif + +#ifdef load_module +# undef load_module +#endif +#define load_module DPPP_(my_load_module) +#define Perl_load_module DPPP_(my_load_module) + +#if defined(NEED_load_module) || defined(NEED_load_module_GLOBAL) + +void +DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...) +{ + va_list args; + va_start(args, ver); + vload_module(flags, name, ver, &args); + va_end(args); +} + +#endif +#endif +#ifndef newRV_inc +# define newRV_inc(sv) newRV(sv) /* Replace */ +#endif + +#ifndef newRV_noinc +#if defined(NEED_newRV_noinc) +static SV * DPPP_(my_newRV_noinc)(SV *sv); +static +#else +extern SV * DPPP_(my_newRV_noinc)(SV *sv); +#endif + +#ifdef newRV_noinc +# undef newRV_noinc +#endif +#define newRV_noinc(a) DPPP_(my_newRV_noinc)(aTHX_ a) +#define Perl_newRV_noinc DPPP_(my_newRV_noinc) + +#if defined(NEED_newRV_noinc) || defined(NEED_newRV_noinc_GLOBAL) +SV * +DPPP_(my_newRV_noinc)(SV *sv) +{ + SV *rv = (SV *)newRV(sv); + SvREFCNT_dec(sv); + return rv; +} +#endif +#endif + +/* Hint: newCONSTSUB + * Returns a CV* as of perl-5.7.1. This return value is not supported + * by Devel::PPPort. + */ + +/* newCONSTSUB from IO.xs is in the core starting with 5.004_63 */ +#if (PERL_BCDVERSION < 0x5004063) && (PERL_BCDVERSION != 0x5004005) +#if defined(NEED_newCONSTSUB) +static void DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv); +static +#else +extern void DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv); +#endif + +#ifdef newCONSTSUB +# undef newCONSTSUB +#endif +#define newCONSTSUB(a,b,c) DPPP_(my_newCONSTSUB)(aTHX_ a,b,c) +#define Perl_newCONSTSUB DPPP_(my_newCONSTSUB) + +#if defined(NEED_newCONSTSUB) || defined(NEED_newCONSTSUB_GLOBAL) + +/* This is just a trick to avoid a dependency of newCONSTSUB on PL_parser */ +/* (There's no PL_parser in perl < 5.005, so this is completely safe) */ +#define D_PPP_PL_copline PL_copline + +void +DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv) +{ + U32 oldhints = PL_hints; + HV *old_cop_stash = PL_curcop->cop_stash; + HV *old_curstash = PL_curstash; + line_t oldline = PL_curcop->cop_line; + PL_curcop->cop_line = D_PPP_PL_copline; + + PL_hints &= ~HINT_BLOCK_SCOPE; + if (stash) + PL_curstash = PL_curcop->cop_stash = stash; + + newSUB( + +#if (PERL_BCDVERSION < 0x5003022) + start_subparse(), +#elif (PERL_BCDVERSION == 0x5003022) + start_subparse(0), +#else /* 5.003_23 onwards */ + start_subparse(FALSE, 0), +#endif + + newSVOP(OP_CONST, 0, newSVpv((char *) name, 0)), + newSVOP(OP_CONST, 0, &PL_sv_no), /* SvPV(&PL_sv_no) == "" -- GMB */ + newSTATEOP(0, Nullch, newSVOP(OP_CONST, 0, sv)) + ); + + PL_hints = oldhints; + PL_curcop->cop_stash = old_cop_stash; + PL_curstash = old_curstash; + PL_curcop->cop_line = oldline; +} +#endif +#endif + +/* + * Boilerplate macros for initializing and accessing interpreter-local + * data from C. All statics in extensions should be reworked to use + * this, if you want to make the extension thread-safe. See ext/re/re.xs + * for an example of the use of these macros. + * + * Code that uses these macros is responsible for the following: + * 1. #define MY_CXT_KEY to a unique string, e.g. "DynaLoader_guts" + * 2. Declare a typedef named my_cxt_t that is a structure that contains + * all the data that needs to be interpreter-local. + * 3. Use the START_MY_CXT macro after the declaration of my_cxt_t. + * 4. Use the MY_CXT_INIT macro such that it is called exactly once + * (typically put in the BOOT: section). + * 5. Use the members of the my_cxt_t structure everywhere as + * MY_CXT.member. + * 6. Use the dMY_CXT macro (a declaration) in all the functions that + * access MY_CXT. + */ + +#if defined(MULTIPLICITY) || defined(PERL_OBJECT) || \ + defined(PERL_CAPI) || defined(PERL_IMPLICIT_CONTEXT) + +#ifndef START_MY_CXT + +/* This must appear in all extensions that define a my_cxt_t structure, + * right after the definition (i.e. at file scope). The non-threads + * case below uses it to declare the data as static. */ +#define START_MY_CXT + +#if (PERL_BCDVERSION < 0x5004068) +/* Fetches the SV that keeps the per-interpreter data. */ +#define dMY_CXT_SV \ + SV *my_cxt_sv = get_sv(MY_CXT_KEY, FALSE) +#else /* >= perl5.004_68 */ +#define dMY_CXT_SV \ + SV *my_cxt_sv = *hv_fetch(PL_modglobal, MY_CXT_KEY, \ + sizeof(MY_CXT_KEY)-1, TRUE) +#endif /* < perl5.004_68 */ + +/* This declaration should be used within all functions that use the + * interpreter-local data. */ +#define dMY_CXT \ + dMY_CXT_SV; \ + my_cxt_t *my_cxtp = INT2PTR(my_cxt_t*,SvUV(my_cxt_sv)) + +/* Creates and zeroes the per-interpreter data. + * (We allocate my_cxtp in a Perl SV so that it will be released when + * the interpreter goes away.) */ +#define MY_CXT_INIT \ + dMY_CXT_SV; \ + /* newSV() allocates one more than needed */ \ + my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\ + Zero(my_cxtp, 1, my_cxt_t); \ + sv_setuv(my_cxt_sv, PTR2UV(my_cxtp)) + +/* This macro must be used to access members of the my_cxt_t structure. + * e.g. MYCXT.some_data */ +#define MY_CXT (*my_cxtp) + +/* Judicious use of these macros can reduce the number of times dMY_CXT + * is used. Use is similar to pTHX, aTHX etc. */ +#define pMY_CXT my_cxt_t *my_cxtp +#define pMY_CXT_ pMY_CXT, +#define _pMY_CXT ,pMY_CXT +#define aMY_CXT my_cxtp +#define aMY_CXT_ aMY_CXT, +#define _aMY_CXT ,aMY_CXT + +#endif /* START_MY_CXT */ + +#ifndef MY_CXT_CLONE +/* Clones the per-interpreter data. */ +#define MY_CXT_CLONE \ + dMY_CXT_SV; \ + my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\ + Copy(INT2PTR(my_cxt_t*, SvUV(my_cxt_sv)), my_cxtp, 1, my_cxt_t);\ + sv_setuv(my_cxt_sv, PTR2UV(my_cxtp)) +#endif + +#else /* single interpreter */ + +#ifndef START_MY_CXT + +#define START_MY_CXT static my_cxt_t my_cxt; +#define dMY_CXT_SV dNOOP +#define dMY_CXT dNOOP +#define MY_CXT_INIT NOOP +#define MY_CXT my_cxt + +#define pMY_CXT void +#define pMY_CXT_ +#define _pMY_CXT +#define aMY_CXT +#define aMY_CXT_ +#define _aMY_CXT + +#endif /* START_MY_CXT */ + +#ifndef MY_CXT_CLONE +#define MY_CXT_CLONE NOOP +#endif + +#endif + +#ifndef IVdf +# if IVSIZE == LONGSIZE +# define IVdf "ld" +# define UVuf "lu" +# define UVof "lo" +# define UVxf "lx" +# define UVXf "lX" +# elif IVSIZE == INTSIZE +# define IVdf "d" +# define UVuf "u" +# define UVof "o" +# define UVxf "x" +# define UVXf "X" +# else +# error "cannot define IV/UV formats" +# endif +#endif + +#ifndef NVef +# if defined(USE_LONG_DOUBLE) && defined(HAS_LONG_DOUBLE) && \ + defined(PERL_PRIfldbl) && (PERL_BCDVERSION != 0x5006000) + /* Not very likely, but let's try anyway. */ +# define NVef PERL_PRIeldbl +# define NVff PERL_PRIfldbl +# define NVgf PERL_PRIgldbl +# else +# define NVef "e" +# define NVff "f" +# define NVgf "g" +# endif +#endif + +#ifndef SvREFCNT_inc +# ifdef PERL_USE_GCC_BRACE_GROUPS +# define SvREFCNT_inc(sv) \ + ({ \ + SV * const _sv = (SV*)(sv); \ + if (_sv) \ + (SvREFCNT(_sv))++; \ + _sv; \ + }) +# else +# define SvREFCNT_inc(sv) \ + ((PL_Sv=(SV*)(sv)) ? (++(SvREFCNT(PL_Sv)),PL_Sv) : NULL) +# endif +#endif + +#ifndef SvREFCNT_inc_simple +# ifdef PERL_USE_GCC_BRACE_GROUPS +# define SvREFCNT_inc_simple(sv) \ + ({ \ + if (sv) \ + (SvREFCNT(sv))++; \ + (SV *)(sv); \ + }) +# else +# define SvREFCNT_inc_simple(sv) \ + ((sv) ? (SvREFCNT(sv)++,(SV*)(sv)) : NULL) +# endif +#endif + +#ifndef SvREFCNT_inc_NN +# ifdef PERL_USE_GCC_BRACE_GROUPS +# define SvREFCNT_inc_NN(sv) \ + ({ \ + SV * const _sv = (SV*)(sv); \ + SvREFCNT(_sv)++; \ + _sv; \ + }) +# else +# define SvREFCNT_inc_NN(sv) \ + (PL_Sv=(SV*)(sv),++(SvREFCNT(PL_Sv)),PL_Sv) +# endif +#endif + +#ifndef SvREFCNT_inc_void +# ifdef PERL_USE_GCC_BRACE_GROUPS +# define SvREFCNT_inc_void(sv) \ + ({ \ + SV * const _sv = (SV*)(sv); \ + if (_sv) \ + (void)(SvREFCNT(_sv)++); \ + }) +# else +# define SvREFCNT_inc_void(sv) \ + (void)((PL_Sv=(SV*)(sv)) ? ++(SvREFCNT(PL_Sv)) : 0) +# endif +#endif +#ifndef SvREFCNT_inc_simple_void +# define SvREFCNT_inc_simple_void(sv) STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END +#endif + +#ifndef SvREFCNT_inc_simple_NN +# define SvREFCNT_inc_simple_NN(sv) (++SvREFCNT(sv), (SV*)(sv)) +#endif + +#ifndef SvREFCNT_inc_void_NN +# define SvREFCNT_inc_void_NN(sv) (void)(++SvREFCNT((SV*)(sv))) +#endif + +#ifndef SvREFCNT_inc_simple_void_NN +# define SvREFCNT_inc_simple_void_NN(sv) (void)(++SvREFCNT((SV*)(sv))) +#endif + +#ifndef newSV_type + +#if defined(NEED_newSV_type) +static SV* DPPP_(my_newSV_type)(pTHX_ svtype const t); +static +#else +extern SV* DPPP_(my_newSV_type)(pTHX_ svtype const t); +#endif + +#ifdef newSV_type +# undef newSV_type +#endif +#define newSV_type(a) DPPP_(my_newSV_type)(aTHX_ a) +#define Perl_newSV_type DPPP_(my_newSV_type) + +#if defined(NEED_newSV_type) || defined(NEED_newSV_type_GLOBAL) + +SV* +DPPP_(my_newSV_type)(pTHX_ svtype const t) +{ + SV* const sv = newSV(0); + sv_upgrade(sv, t); + return sv; +} + +#endif + +#endif + +#if (PERL_BCDVERSION < 0x5006000) +# define D_PPP_CONSTPV_ARG(x) ((char *) (x)) +#else +# define D_PPP_CONSTPV_ARG(x) (x) +#endif +#ifndef newSVpvn +# define newSVpvn(data,len) ((data) \ + ? ((len) ? newSVpv((data), (len)) : newSVpv("", 0)) \ + : newSV(0)) +#endif +#ifndef newSVpvn_utf8 +# define newSVpvn_utf8(s, len, u) newSVpvn_flags((s), (len), (u) ? SVf_UTF8 : 0) +#endif +#ifndef SVf_UTF8 +# define SVf_UTF8 0 +#endif + +#ifndef newSVpvn_flags + +#if defined(NEED_newSVpvn_flags) +static SV * DPPP_(my_newSVpvn_flags)(pTHX_ const char *s, STRLEN len, U32 flags); +static +#else +extern SV * DPPP_(my_newSVpvn_flags)(pTHX_ const char *s, STRLEN len, U32 flags); +#endif + +#ifdef newSVpvn_flags +# undef newSVpvn_flags +#endif +#define newSVpvn_flags(a,b,c) DPPP_(my_newSVpvn_flags)(aTHX_ a,b,c) +#define Perl_newSVpvn_flags DPPP_(my_newSVpvn_flags) + +#if defined(NEED_newSVpvn_flags) || defined(NEED_newSVpvn_flags_GLOBAL) + +SV * +DPPP_(my_newSVpvn_flags)(pTHX_ const char *s, STRLEN len, U32 flags) +{ + SV *sv = newSVpvn(D_PPP_CONSTPV_ARG(s), len); + SvFLAGS(sv) |= (flags & SVf_UTF8); + return (flags & SVs_TEMP) ? sv_2mortal(sv) : sv; +} + +#endif + +#endif + +/* Backwards compatibility stuff... :-( */ +#if !defined(NEED_sv_2pv_flags) && defined(NEED_sv_2pv_nolen) +# define NEED_sv_2pv_flags +#endif +#if !defined(NEED_sv_2pv_flags_GLOBAL) && defined(NEED_sv_2pv_nolen_GLOBAL) +# define NEED_sv_2pv_flags_GLOBAL +#endif + +/* Hint: sv_2pv_nolen + * Use the SvPV_nolen() or SvPV_nolen_const() macros instead of sv_2pv_nolen(). + */ +#ifndef sv_2pv_nolen +# define sv_2pv_nolen(sv) SvPV_nolen(sv) +#endif + +#ifdef SvPVbyte + +/* Hint: SvPVbyte + * Does not work in perl-5.6.1, ppport.h implements a version + * borrowed from perl-5.7.3. + */ + +#if (PERL_BCDVERSION < 0x5007000) + +#if defined(NEED_sv_2pvbyte) +static char * DPPP_(my_sv_2pvbyte)(pTHX_ SV *sv, STRLEN *lp); +static +#else +extern char * DPPP_(my_sv_2pvbyte)(pTHX_ SV *sv, STRLEN *lp); +#endif + +#ifdef sv_2pvbyte +# undef sv_2pvbyte +#endif +#define sv_2pvbyte(a,b) DPPP_(my_sv_2pvbyte)(aTHX_ a,b) +#define Perl_sv_2pvbyte DPPP_(my_sv_2pvbyte) + +#if defined(NEED_sv_2pvbyte) || defined(NEED_sv_2pvbyte_GLOBAL) + +char * +DPPP_(my_sv_2pvbyte)(pTHX_ SV *sv, STRLEN *lp) +{ + sv_utf8_downgrade(sv,0); + return SvPV(sv,*lp); +} + +#endif + +/* Hint: sv_2pvbyte + * Use the SvPVbyte() macro instead of sv_2pvbyte(). + */ + +#undef SvPVbyte + +#define SvPVbyte(sv, lp) \ + ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8)) == (SVf_POK) \ + ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvbyte(sv, &lp)) + +#endif + +#else + +# define SvPVbyte SvPV +# define sv_2pvbyte sv_2pv + +#endif +#ifndef sv_2pvbyte_nolen +# define sv_2pvbyte_nolen(sv) sv_2pv_nolen(sv) +#endif + +/* Hint: sv_pvn + * Always use the SvPV() macro instead of sv_pvn(). + */ + +/* Hint: sv_pvn_force + * Always use the SvPV_force() macro instead of sv_pvn_force(). + */ + +/* If these are undefined, they're not handled by the core anyway */ +#ifndef SV_IMMEDIATE_UNREF +# define SV_IMMEDIATE_UNREF 0 +#endif + +#ifndef SV_GMAGIC +# define SV_GMAGIC 0 +#endif + +#ifndef SV_COW_DROP_PV +# define SV_COW_DROP_PV 0 +#endif + +#ifndef SV_UTF8_NO_ENCODING +# define SV_UTF8_NO_ENCODING 0 +#endif + +#ifndef SV_NOSTEAL +# define SV_NOSTEAL 0 +#endif + +#ifndef SV_CONST_RETURN +# define SV_CONST_RETURN 0 +#endif + +#ifndef SV_MUTABLE_RETURN +# define SV_MUTABLE_RETURN 0 +#endif + +#ifndef SV_SMAGIC +# define SV_SMAGIC 0 +#endif + +#ifndef SV_HAS_TRAILING_NUL +# define SV_HAS_TRAILING_NUL 0 +#endif + +#ifndef SV_COW_SHARED_HASH_KEYS +# define SV_COW_SHARED_HASH_KEYS 0 +#endif + +#if (PERL_BCDVERSION < 0x5007002) + +#if defined(NEED_sv_2pv_flags) +static char * DPPP_(my_sv_2pv_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags); +static +#else +extern char * DPPP_(my_sv_2pv_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags); +#endif + +#ifdef sv_2pv_flags +# undef sv_2pv_flags +#endif +#define sv_2pv_flags(a,b,c) DPPP_(my_sv_2pv_flags)(aTHX_ a,b,c) +#define Perl_sv_2pv_flags DPPP_(my_sv_2pv_flags) + +#if defined(NEED_sv_2pv_flags) || defined(NEED_sv_2pv_flags_GLOBAL) + +char * +DPPP_(my_sv_2pv_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags) +{ + STRLEN n_a = (STRLEN) flags; + return sv_2pv(sv, lp ? lp : &n_a); +} + +#endif + +#if defined(NEED_sv_pvn_force_flags) +static char * DPPP_(my_sv_pvn_force_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags); +static +#else +extern char * DPPP_(my_sv_pvn_force_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags); +#endif + +#ifdef sv_pvn_force_flags +# undef sv_pvn_force_flags +#endif +#define sv_pvn_force_flags(a,b,c) DPPP_(my_sv_pvn_force_flags)(aTHX_ a,b,c) +#define Perl_sv_pvn_force_flags DPPP_(my_sv_pvn_force_flags) + +#if defined(NEED_sv_pvn_force_flags) || defined(NEED_sv_pvn_force_flags_GLOBAL) + +char * +DPPP_(my_sv_pvn_force_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags) +{ + STRLEN n_a = (STRLEN) flags; + return sv_pvn_force(sv, lp ? lp : &n_a); +} + +#endif + +#endif + +#if (PERL_BCDVERSION < 0x5008008) || ( (PERL_BCDVERSION >= 0x5009000) && (PERL_BCDVERSION < 0x5009003) ) +# define DPPP_SVPV_NOLEN_LP_ARG &PL_na +#else +# define DPPP_SVPV_NOLEN_LP_ARG 0 +#endif +#ifndef SvPV_const +# define SvPV_const(sv, lp) SvPV_flags_const(sv, lp, SV_GMAGIC) +#endif + +#ifndef SvPV_mutable +# define SvPV_mutable(sv, lp) SvPV_flags_mutable(sv, lp, SV_GMAGIC) +#endif +#ifndef SvPV_flags +# define SvPV_flags(sv, lp, flags) \ + ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ + ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pv_flags(sv, &lp, flags)) +#endif +#ifndef SvPV_flags_const +# define SvPV_flags_const(sv, lp, flags) \ + ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ + ? ((lp = SvCUR(sv)), SvPVX_const(sv)) : \ + (const char*) sv_2pv_flags(sv, &lp, flags|SV_CONST_RETURN)) +#endif +#ifndef SvPV_flags_const_nolen +# define SvPV_flags_const_nolen(sv, flags) \ + ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ + ? SvPVX_const(sv) : \ + (const char*) sv_2pv_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, flags|SV_CONST_RETURN)) +#endif +#ifndef SvPV_flags_mutable +# define SvPV_flags_mutable(sv, lp, flags) \ + ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ + ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) : \ + sv_2pv_flags(sv, &lp, flags|SV_MUTABLE_RETURN)) +#endif +#ifndef SvPV_force +# define SvPV_force(sv, lp) SvPV_force_flags(sv, lp, SV_GMAGIC) +#endif + +#ifndef SvPV_force_nolen +# define SvPV_force_nolen(sv) SvPV_force_flags_nolen(sv, SV_GMAGIC) +#endif + +#ifndef SvPV_force_mutable +# define SvPV_force_mutable(sv, lp) SvPV_force_flags_mutable(sv, lp, SV_GMAGIC) +#endif + +#ifndef SvPV_force_nomg +# define SvPV_force_nomg(sv, lp) SvPV_force_flags(sv, lp, 0) +#endif + +#ifndef SvPV_force_nomg_nolen +# define SvPV_force_nomg_nolen(sv) SvPV_force_flags_nolen(sv, 0) +#endif +#ifndef SvPV_force_flags +# define SvPV_force_flags(sv, lp, flags) \ + ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \ + ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvn_force_flags(sv, &lp, flags)) +#endif +#ifndef SvPV_force_flags_nolen +# define SvPV_force_flags_nolen(sv, flags) \ + ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \ + ? SvPVX(sv) : sv_pvn_force_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, flags)) +#endif +#ifndef SvPV_force_flags_mutable +# define SvPV_force_flags_mutable(sv, lp, flags) \ + ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \ + ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) \ + : sv_pvn_force_flags(sv, &lp, flags|SV_MUTABLE_RETURN)) +#endif +#ifndef SvPV_nolen +# define SvPV_nolen(sv) \ + ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ + ? SvPVX(sv) : sv_2pv_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC)) +#endif +#ifndef SvPV_nolen_const +# define SvPV_nolen_const(sv) \ + ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ + ? SvPVX_const(sv) : sv_2pv_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC|SV_CONST_RETURN)) +#endif +#ifndef SvPV_nomg +# define SvPV_nomg(sv, lp) SvPV_flags(sv, lp, 0) +#endif + +#ifndef SvPV_nomg_const +# define SvPV_nomg_const(sv, lp) SvPV_flags_const(sv, lp, 0) +#endif + +#ifndef SvPV_nomg_const_nolen +# define SvPV_nomg_const_nolen(sv) SvPV_flags_const_nolen(sv, 0) +#endif + +#ifndef SvPV_nomg_nolen +# define SvPV_nomg_nolen(sv) ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \ + ? SvPVX(sv) : sv_2pv_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, 0)) +#endif +#ifndef SvPV_renew +# define SvPV_renew(sv,n) STMT_START { SvLEN_set(sv, n); \ + SvPV_set((sv), (char *) saferealloc( \ + (Malloc_t)SvPVX(sv), (MEM_SIZE)((n)))); \ + } STMT_END +#endif +#ifndef SvMAGIC_set +# define SvMAGIC_set(sv, val) \ + STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \ + (((XPVMG*) SvANY(sv))->xmg_magic = (val)); } STMT_END +#endif + +#if (PERL_BCDVERSION < 0x5009003) +#ifndef SvPVX_const +# define SvPVX_const(sv) ((const char*) (0 + SvPVX(sv))) +#endif + +#ifndef SvPVX_mutable +# define SvPVX_mutable(sv) (0 + SvPVX(sv)) +#endif +#ifndef SvRV_set +# define SvRV_set(sv, val) \ + STMT_START { assert(SvTYPE(sv) >= SVt_RV); \ + (((XRV*) SvANY(sv))->xrv_rv = (val)); } STMT_END +#endif + +#else +#ifndef SvPVX_const +# define SvPVX_const(sv) ((const char*)((sv)->sv_u.svu_pv)) +#endif + +#ifndef SvPVX_mutable +# define SvPVX_mutable(sv) ((sv)->sv_u.svu_pv) +#endif +#ifndef SvRV_set +# define SvRV_set(sv, val) \ + STMT_START { assert(SvTYPE(sv) >= SVt_RV); \ + ((sv)->sv_u.svu_rv = (val)); } STMT_END +#endif + +#endif +#ifndef SvSTASH_set +# define SvSTASH_set(sv, val) \ + STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \ + (((XPVMG*) SvANY(sv))->xmg_stash = (val)); } STMT_END +#endif + +#if (PERL_BCDVERSION < 0x5004000) +#ifndef SvUV_set +# define SvUV_set(sv, val) \ + STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \ + (((XPVIV*) SvANY(sv))->xiv_iv = (IV) (val)); } STMT_END +#endif + +#else +#ifndef SvUV_set +# define SvUV_set(sv, val) \ + STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \ + (((XPVUV*) SvANY(sv))->xuv_uv = (val)); } STMT_END +#endif + +#endif + +#if (PERL_BCDVERSION >= 0x5004000) && !defined(vnewSVpvf) +#if defined(NEED_vnewSVpvf) +static SV * DPPP_(my_vnewSVpvf)(pTHX_ const char *pat, va_list *args); +static +#else +extern SV * DPPP_(my_vnewSVpvf)(pTHX_ const char *pat, va_list *args); +#endif + +#ifdef vnewSVpvf +# undef vnewSVpvf +#endif +#define vnewSVpvf(a,b) DPPP_(my_vnewSVpvf)(aTHX_ a,b) +#define Perl_vnewSVpvf DPPP_(my_vnewSVpvf) + +#if defined(NEED_vnewSVpvf) || defined(NEED_vnewSVpvf_GLOBAL) + +SV * +DPPP_(my_vnewSVpvf)(pTHX_ const char *pat, va_list *args) +{ + register SV *sv = newSV(0); + sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)); + return sv; +} + +#endif +#endif + +#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vcatpvf) +# define sv_vcatpvf(sv, pat, args) sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)) +#endif + +#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vsetpvf) +# define sv_vsetpvf(sv, pat, args) sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)) +#endif + +#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_catpvf_mg) +#if defined(NEED_sv_catpvf_mg) +static void DPPP_(my_sv_catpvf_mg)(pTHX_ SV *sv, const char *pat, ...); +static +#else +extern void DPPP_(my_sv_catpvf_mg)(pTHX_ SV *sv, const char *pat, ...); +#endif + +#define Perl_sv_catpvf_mg DPPP_(my_sv_catpvf_mg) + +#if defined(NEED_sv_catpvf_mg) || defined(NEED_sv_catpvf_mg_GLOBAL) + +void +DPPP_(my_sv_catpvf_mg)(pTHX_ SV *sv, const char *pat, ...) +{ + va_list args; + va_start(args, pat); + sv_vcatpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); + SvSETMAGIC(sv); + va_end(args); +} + +#endif +#endif + +#ifdef PERL_IMPLICIT_CONTEXT +#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_catpvf_mg_nocontext) +#if defined(NEED_sv_catpvf_mg_nocontext) +static void DPPP_(my_sv_catpvf_mg_nocontext)(SV *sv, const char *pat, ...); +static +#else +extern void DPPP_(my_sv_catpvf_mg_nocontext)(SV *sv, const char *pat, ...); +#endif + +#define sv_catpvf_mg_nocontext DPPP_(my_sv_catpvf_mg_nocontext) +#define Perl_sv_catpvf_mg_nocontext DPPP_(my_sv_catpvf_mg_nocontext) + +#if defined(NEED_sv_catpvf_mg_nocontext) || defined(NEED_sv_catpvf_mg_nocontext_GLOBAL) + +void +DPPP_(my_sv_catpvf_mg_nocontext)(SV *sv, const char *pat, ...) +{ + dTHX; + va_list args; + va_start(args, pat); + sv_vcatpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); + SvSETMAGIC(sv); + va_end(args); +} + +#endif +#endif +#endif + +/* sv_catpvf_mg depends on sv_catpvf_mg_nocontext */ +#ifndef sv_catpvf_mg +# ifdef PERL_IMPLICIT_CONTEXT +# define sv_catpvf_mg Perl_sv_catpvf_mg_nocontext +# else +# define sv_catpvf_mg Perl_sv_catpvf_mg +# endif +#endif + +#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vcatpvf_mg) +# define sv_vcatpvf_mg(sv, pat, args) \ + STMT_START { \ + sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)); \ + SvSETMAGIC(sv); \ + } STMT_END +#endif + +#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_setpvf_mg) +#if defined(NEED_sv_setpvf_mg) +static void DPPP_(my_sv_setpvf_mg)(pTHX_ SV *sv, const char *pat, ...); +static +#else +extern void DPPP_(my_sv_setpvf_mg)(pTHX_ SV *sv, const char *pat, ...); +#endif + +#define Perl_sv_setpvf_mg DPPP_(my_sv_setpvf_mg) + +#if defined(NEED_sv_setpvf_mg) || defined(NEED_sv_setpvf_mg_GLOBAL) + +void +DPPP_(my_sv_setpvf_mg)(pTHX_ SV *sv, const char *pat, ...) +{ + va_list args; + va_start(args, pat); + sv_vsetpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); + SvSETMAGIC(sv); + va_end(args); +} + +#endif +#endif + +#ifdef PERL_IMPLICIT_CONTEXT +#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_setpvf_mg_nocontext) +#if defined(NEED_sv_setpvf_mg_nocontext) +static void DPPP_(my_sv_setpvf_mg_nocontext)(SV *sv, const char *pat, ...); +static +#else +extern void DPPP_(my_sv_setpvf_mg_nocontext)(SV *sv, const char *pat, ...); +#endif + +#define sv_setpvf_mg_nocontext DPPP_(my_sv_setpvf_mg_nocontext) +#define Perl_sv_setpvf_mg_nocontext DPPP_(my_sv_setpvf_mg_nocontext) + +#if defined(NEED_sv_setpvf_mg_nocontext) || defined(NEED_sv_setpvf_mg_nocontext_GLOBAL) + +void +DPPP_(my_sv_setpvf_mg_nocontext)(SV *sv, const char *pat, ...) +{ + dTHX; + va_list args; + va_start(args, pat); + sv_vsetpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*)); + SvSETMAGIC(sv); + va_end(args); +} + +#endif +#endif +#endif + +/* sv_setpvf_mg depends on sv_setpvf_mg_nocontext */ +#ifndef sv_setpvf_mg +# ifdef PERL_IMPLICIT_CONTEXT +# define sv_setpvf_mg Perl_sv_setpvf_mg_nocontext +# else +# define sv_setpvf_mg Perl_sv_setpvf_mg +# endif +#endif + +#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vsetpvf_mg) +# define sv_vsetpvf_mg(sv, pat, args) \ + STMT_START { \ + sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)); \ + SvSETMAGIC(sv); \ + } STMT_END +#endif + +/* Hint: newSVpvn_share + * The SVs created by this function only mimic the behaviour of + * shared PVs without really being shared. Only use if you know + * what you're doing. + */ + +#ifndef newSVpvn_share + +#if defined(NEED_newSVpvn_share) +static SV * DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash); +static +#else +extern SV * DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash); +#endif + +#ifdef newSVpvn_share +# undef newSVpvn_share +#endif +#define newSVpvn_share(a,b,c) DPPP_(my_newSVpvn_share)(aTHX_ a,b,c) +#define Perl_newSVpvn_share DPPP_(my_newSVpvn_share) + +#if defined(NEED_newSVpvn_share) || defined(NEED_newSVpvn_share_GLOBAL) + +SV * +DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash) +{ + SV *sv; + if (len < 0) + len = -len; + if (!hash) + PERL_HASH(hash, (char*) src, len); + sv = newSVpvn((char *) src, len); + sv_upgrade(sv, SVt_PVIV); + SvIVX(sv) = hash; + SvREADONLY_on(sv); + SvPOK_on(sv); + return sv; +} + +#endif + +#endif +#ifndef SvSHARED_HASH +# define SvSHARED_HASH(sv) (0 + SvUVX(sv)) +#endif +#ifndef HvNAME_get +# define HvNAME_get(hv) HvNAME(hv) +#endif +#ifndef HvNAMELEN_get +# define HvNAMELEN_get(hv) (HvNAME_get(hv) ? (I32)strlen(HvNAME_get(hv)) : 0) +#endif +#ifndef GvSVn +# define GvSVn(gv) GvSV(gv) +#endif + +#ifndef isGV_with_GP +# define isGV_with_GP(gv) isGV(gv) +#endif + +#ifndef gv_fetchpvn_flags +# define gv_fetchpvn_flags(name, len, flags, svt) gv_fetchpv(name, flags, svt) +#endif + +#ifndef gv_fetchsv +# define gv_fetchsv(name, flags, svt) gv_fetchpv(SvPV_nolen_const(name), flags, svt) +#endif +#ifndef get_cvn_flags +# define get_cvn_flags(name, namelen, flags) get_cv(name, flags) +#endif +#ifndef WARN_ALL +# define WARN_ALL 0 +#endif + +#ifndef WARN_CLOSURE +# define WARN_CLOSURE 1 +#endif + +#ifndef WARN_DEPRECATED +# define WARN_DEPRECATED 2 +#endif + +#ifndef WARN_EXITING +# define WARN_EXITING 3 +#endif + +#ifndef WARN_GLOB +# define WARN_GLOB 4 +#endif + +#ifndef WARN_IO +# define WARN_IO 5 +#endif + +#ifndef WARN_CLOSED +# define WARN_CLOSED 6 +#endif + +#ifndef WARN_EXEC +# define WARN_EXEC 7 +#endif + +#ifndef WARN_LAYER +# define WARN_LAYER 8 +#endif + +#ifndef WARN_NEWLINE +# define WARN_NEWLINE 9 +#endif + +#ifndef WARN_PIPE +# define WARN_PIPE 10 +#endif + +#ifndef WARN_UNOPENED +# define WARN_UNOPENED 11 +#endif + +#ifndef WARN_MISC +# define WARN_MISC 12 +#endif + +#ifndef WARN_NUMERIC +# define WARN_NUMERIC 13 +#endif + +#ifndef WARN_ONCE +# define WARN_ONCE 14 +#endif + +#ifndef WARN_OVERFLOW +# define WARN_OVERFLOW 15 +#endif + +#ifndef WARN_PACK +# define WARN_PACK 16 +#endif + +#ifndef WARN_PORTABLE +# define WARN_PORTABLE 17 +#endif + +#ifndef WARN_RECURSION +# define WARN_RECURSION 18 +#endif + +#ifndef WARN_REDEFINE +# define WARN_REDEFINE 19 +#endif + +#ifndef WARN_REGEXP +# define WARN_REGEXP 20 +#endif + +#ifndef WARN_SEVERE +# define WARN_SEVERE 21 +#endif + +#ifndef WARN_DEBUGGING +# define WARN_DEBUGGING 22 +#endif + +#ifndef WARN_INPLACE +# define WARN_INPLACE 23 +#endif + +#ifndef WARN_INTERNAL +# define WARN_INTERNAL 24 +#endif + +#ifndef WARN_MALLOC +# define WARN_MALLOC 25 +#endif + +#ifndef WARN_SIGNAL +# define WARN_SIGNAL 26 +#endif + +#ifndef WARN_SUBSTR +# define WARN_SUBSTR 27 +#endif + +#ifndef WARN_SYNTAX +# define WARN_SYNTAX 28 +#endif + +#ifndef WARN_AMBIGUOUS +# define WARN_AMBIGUOUS 29 +#endif + +#ifndef WARN_BAREWORD +# define WARN_BAREWORD 30 +#endif + +#ifndef WARN_DIGIT +# define WARN_DIGIT 31 +#endif + +#ifndef WARN_PARENTHESIS +# define WARN_PARENTHESIS 32 +#endif + +#ifndef WARN_PRECEDENCE +# define WARN_PRECEDENCE 33 +#endif + +#ifndef WARN_PRINTF +# define WARN_PRINTF 34 +#endif + +#ifndef WARN_PROTOTYPE +# define WARN_PROTOTYPE 35 +#endif + +#ifndef WARN_QW +# define WARN_QW 36 +#endif + +#ifndef WARN_RESERVED +# define WARN_RESERVED 37 +#endif + +#ifndef WARN_SEMICOLON +# define WARN_SEMICOLON 38 +#endif + +#ifndef WARN_TAINT +# define WARN_TAINT 39 +#endif + +#ifndef WARN_THREADS +# define WARN_THREADS 40 +#endif + +#ifndef WARN_UNINITIALIZED +# define WARN_UNINITIALIZED 41 +#endif + +#ifndef WARN_UNPACK +# define WARN_UNPACK 42 +#endif + +#ifndef WARN_UNTIE +# define WARN_UNTIE 43 +#endif + +#ifndef WARN_UTF8 +# define WARN_UTF8 44 +#endif + +#ifndef WARN_VOID +# define WARN_VOID 45 +#endif + +#ifndef WARN_ASSERTIONS +# define WARN_ASSERTIONS 46 +#endif +#ifndef packWARN +# define packWARN(a) (a) +#endif + +#ifndef ckWARN +# ifdef G_WARN_ON +# define ckWARN(a) (PL_dowarn & G_WARN_ON) +# else +# define ckWARN(a) PL_dowarn +# endif +#endif + +#if (PERL_BCDVERSION >= 0x5004000) && !defined(warner) +#if defined(NEED_warner) +static void DPPP_(my_warner)(U32 err, const char *pat, ...); +static +#else +extern void DPPP_(my_warner)(U32 err, const char *pat, ...); +#endif + +#define Perl_warner DPPP_(my_warner) + +#if defined(NEED_warner) || defined(NEED_warner_GLOBAL) + +void +DPPP_(my_warner)(U32 err, const char *pat, ...) +{ + SV *sv; + va_list args; + + PERL_UNUSED_ARG(err); + + va_start(args, pat); + sv = vnewSVpvf(pat, &args); + va_end(args); + sv_2mortal(sv); + warn("%s", SvPV_nolen(sv)); +} + +#define warner Perl_warner + +#define Perl_warner_nocontext Perl_warner + +#endif +#endif + +/* concatenating with "" ensures that only literal strings are accepted as argument + * note that STR_WITH_LEN() can't be used as argument to macros or functions that + * under some configurations might be macros + */ +#ifndef STR_WITH_LEN +# define STR_WITH_LEN(s) (s ""), (sizeof(s)-1) +#endif +#ifndef newSVpvs +# define newSVpvs(str) newSVpvn(str "", sizeof(str) - 1) +#endif + +#ifndef newSVpvs_flags +# define newSVpvs_flags(str, flags) newSVpvn_flags(str "", sizeof(str) - 1, flags) +#endif + +#ifndef newSVpvs_share +# define newSVpvs_share(str) newSVpvn_share(str "", sizeof(str) - 1, 0) +#endif + +#ifndef sv_catpvs +# define sv_catpvs(sv, str) sv_catpvn(sv, str "", sizeof(str) - 1) +#endif + +#ifndef sv_setpvs +# define sv_setpvs(sv, str) sv_setpvn(sv, str "", sizeof(str) - 1) +#endif + +#ifndef hv_fetchs +# define hv_fetchs(hv, key, lval) hv_fetch(hv, key "", sizeof(key) - 1, lval) +#endif + +#ifndef hv_stores +# define hv_stores(hv, key, val) hv_store(hv, key "", sizeof(key) - 1, val, 0) +#endif +#ifndef gv_fetchpvs +# define gv_fetchpvs(name, flags, svt) gv_fetchpvn_flags(name "", sizeof(name) - 1, flags, svt) +#endif + +#ifndef gv_stashpvs +# define gv_stashpvs(name, flags) gv_stashpvn(name "", sizeof(name) - 1, flags) +#endif +#ifndef get_cvs +# define get_cvs(name, flags) get_cvn_flags(name "", sizeof(name)-1, flags) +#endif +#ifndef SvGETMAGIC +# define SvGETMAGIC(x) STMT_START { if (SvGMAGICAL(x)) mg_get(x); } STMT_END +#endif +#ifndef PERL_MAGIC_sv +# define PERL_MAGIC_sv '\0' +#endif + +#ifndef PERL_MAGIC_overload +# define PERL_MAGIC_overload 'A' +#endif + +#ifndef PERL_MAGIC_overload_elem +# define PERL_MAGIC_overload_elem 'a' +#endif + +#ifndef PERL_MAGIC_overload_table +# define PERL_MAGIC_overload_table 'c' +#endif + +#ifndef PERL_MAGIC_bm +# define PERL_MAGIC_bm 'B' +#endif + +#ifndef PERL_MAGIC_regdata +# define PERL_MAGIC_regdata 'D' +#endif + +#ifndef PERL_MAGIC_regdatum +# define PERL_MAGIC_regdatum 'd' +#endif + +#ifndef PERL_MAGIC_env +# define PERL_MAGIC_env 'E' +#endif + +#ifndef PERL_MAGIC_envelem +# define PERL_MAGIC_envelem 'e' +#endif + +#ifndef PERL_MAGIC_fm +# define PERL_MAGIC_fm 'f' +#endif + +#ifndef PERL_MAGIC_regex_global +# define PERL_MAGIC_regex_global 'g' +#endif + +#ifndef PERL_MAGIC_isa +# define PERL_MAGIC_isa 'I' +#endif + +#ifndef PERL_MAGIC_isaelem +# define PERL_MAGIC_isaelem 'i' +#endif + +#ifndef PERL_MAGIC_nkeys +# define PERL_MAGIC_nkeys 'k' +#endif + +#ifndef PERL_MAGIC_dbfile +# define PERL_MAGIC_dbfile 'L' +#endif + +#ifndef PERL_MAGIC_dbline +# define PERL_MAGIC_dbline 'l' +#endif + +#ifndef PERL_MAGIC_mutex +# define PERL_MAGIC_mutex 'm' +#endif + +#ifndef PERL_MAGIC_shared +# define PERL_MAGIC_shared 'N' +#endif + +#ifndef PERL_MAGIC_shared_scalar +# define PERL_MAGIC_shared_scalar 'n' +#endif + +#ifndef PERL_MAGIC_collxfrm +# define PERL_MAGIC_collxfrm 'o' +#endif + +#ifndef PERL_MAGIC_tied +# define PERL_MAGIC_tied 'P' +#endif + +#ifndef PERL_MAGIC_tiedelem +# define PERL_MAGIC_tiedelem 'p' +#endif + +#ifndef PERL_MAGIC_tiedscalar +# define PERL_MAGIC_tiedscalar 'q' +#endif + +#ifndef PERL_MAGIC_qr +# define PERL_MAGIC_qr 'r' +#endif + +#ifndef PERL_MAGIC_sig +# define PERL_MAGIC_sig 'S' +#endif + +#ifndef PERL_MAGIC_sigelem +# define PERL_MAGIC_sigelem 's' +#endif + +#ifndef PERL_MAGIC_taint +# define PERL_MAGIC_taint 't' +#endif + +#ifndef PERL_MAGIC_uvar +# define PERL_MAGIC_uvar 'U' +#endif + +#ifndef PERL_MAGIC_uvar_elem +# define PERL_MAGIC_uvar_elem 'u' +#endif + +#ifndef PERL_MAGIC_vstring +# define PERL_MAGIC_vstring 'V' +#endif + +#ifndef PERL_MAGIC_vec +# define PERL_MAGIC_vec 'v' +#endif + +#ifndef PERL_MAGIC_utf8 +# define PERL_MAGIC_utf8 'w' +#endif + +#ifndef PERL_MAGIC_substr +# define PERL_MAGIC_substr 'x' +#endif + +#ifndef PERL_MAGIC_defelem +# define PERL_MAGIC_defelem 'y' +#endif + +#ifndef PERL_MAGIC_glob +# define PERL_MAGIC_glob '*' +#endif + +#ifndef PERL_MAGIC_arylen +# define PERL_MAGIC_arylen '#' +#endif + +#ifndef PERL_MAGIC_pos +# define PERL_MAGIC_pos '.' +#endif + +#ifndef PERL_MAGIC_backref +# define PERL_MAGIC_backref '<' +#endif + +#ifndef PERL_MAGIC_ext +# define PERL_MAGIC_ext '~' +#endif + +/* That's the best we can do... */ +#ifndef sv_catpvn_nomg +# define sv_catpvn_nomg sv_catpvn +#endif + +#ifndef sv_catsv_nomg +# define sv_catsv_nomg sv_catsv +#endif + +#ifndef sv_setsv_nomg +# define sv_setsv_nomg sv_setsv +#endif + +#ifndef sv_pvn_nomg +# define sv_pvn_nomg sv_pvn +#endif + +#ifndef SvIV_nomg +# define SvIV_nomg SvIV +#endif + +#ifndef SvUV_nomg +# define SvUV_nomg SvUV +#endif + +#ifndef sv_catpv_mg +# define sv_catpv_mg(sv, ptr) \ + STMT_START { \ + SV *TeMpSv = sv; \ + sv_catpv(TeMpSv,ptr); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END +#endif + +#ifndef sv_catpvn_mg +# define sv_catpvn_mg(sv, ptr, len) \ + STMT_START { \ + SV *TeMpSv = sv; \ + sv_catpvn(TeMpSv,ptr,len); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END +#endif + +#ifndef sv_catsv_mg +# define sv_catsv_mg(dsv, ssv) \ + STMT_START { \ + SV *TeMpSv = dsv; \ + sv_catsv(TeMpSv,ssv); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END +#endif + +#ifndef sv_setiv_mg +# define sv_setiv_mg(sv, i) \ + STMT_START { \ + SV *TeMpSv = sv; \ + sv_setiv(TeMpSv,i); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END +#endif + +#ifndef sv_setnv_mg +# define sv_setnv_mg(sv, num) \ + STMT_START { \ + SV *TeMpSv = sv; \ + sv_setnv(TeMpSv,num); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END +#endif + +#ifndef sv_setpv_mg +# define sv_setpv_mg(sv, ptr) \ + STMT_START { \ + SV *TeMpSv = sv; \ + sv_setpv(TeMpSv,ptr); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END +#endif + +#ifndef sv_setpvn_mg +# define sv_setpvn_mg(sv, ptr, len) \ + STMT_START { \ + SV *TeMpSv = sv; \ + sv_setpvn(TeMpSv,ptr,len); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END +#endif + +#ifndef sv_setsv_mg +# define sv_setsv_mg(dsv, ssv) \ + STMT_START { \ + SV *TeMpSv = dsv; \ + sv_setsv(TeMpSv,ssv); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END +#endif + +#ifndef sv_setuv_mg +# define sv_setuv_mg(sv, i) \ + STMT_START { \ + SV *TeMpSv = sv; \ + sv_setuv(TeMpSv,i); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END +#endif + +#ifndef sv_usepvn_mg +# define sv_usepvn_mg(sv, ptr, len) \ + STMT_START { \ + SV *TeMpSv = sv; \ + sv_usepvn(TeMpSv,ptr,len); \ + SvSETMAGIC(TeMpSv); \ + } STMT_END +#endif +#ifndef SvVSTRING_mg +# define SvVSTRING_mg(sv) (SvMAGICAL(sv) ? mg_find(sv, PERL_MAGIC_vstring) : NULL) +#endif + +/* Hint: sv_magic_portable + * This is a compatibility function that is only available with + * Devel::PPPort. It is NOT in the perl core. + * Its purpose is to mimic the 5.8.0 behaviour of sv_magic() when + * it is being passed a name pointer with namlen == 0. In that + * case, perl 5.8.0 and later store the pointer, not a copy of it. + * The compatibility can be provided back to perl 5.004. With + * earlier versions, the code will not compile. + */ + +#if (PERL_BCDVERSION < 0x5004000) + + /* code that uses sv_magic_portable will not compile */ + +#elif (PERL_BCDVERSION < 0x5008000) + +# define sv_magic_portable(sv, obj, how, name, namlen) \ + STMT_START { \ + SV *SvMp_sv = (sv); \ + char *SvMp_name = (char *) (name); \ + I32 SvMp_namlen = (namlen); \ + if (SvMp_name && SvMp_namlen == 0) \ + { \ + MAGIC *mg; \ + sv_magic(SvMp_sv, obj, how, 0, 0); \ + mg = SvMAGIC(SvMp_sv); \ + mg->mg_len = -42; /* XXX: this is the tricky part */ \ + mg->mg_ptr = SvMp_name; \ + } \ + else \ + { \ + sv_magic(SvMp_sv, obj, how, SvMp_name, SvMp_namlen); \ + } \ + } STMT_END + +#else + +# define sv_magic_portable(a, b, c, d, e) sv_magic(a, b, c, d, e) + +#endif + +#ifdef USE_ITHREADS +#ifndef CopFILE +# define CopFILE(c) ((c)->cop_file) +#endif + +#ifndef CopFILEGV +# define CopFILEGV(c) (CopFILE(c) ? gv_fetchfile(CopFILE(c)) : Nullgv) +#endif + +#ifndef CopFILE_set +# define CopFILE_set(c,pv) ((c)->cop_file = savepv(pv)) +#endif + +#ifndef CopFILESV +# define CopFILESV(c) (CopFILE(c) ? GvSV(gv_fetchfile(CopFILE(c))) : Nullsv) +#endif + +#ifndef CopFILEAV +# define CopFILEAV(c) (CopFILE(c) ? GvAV(gv_fetchfile(CopFILE(c))) : Nullav) +#endif + +#ifndef CopSTASHPV +# define CopSTASHPV(c) ((c)->cop_stashpv) +#endif + +#ifndef CopSTASHPV_set +# define CopSTASHPV_set(c,pv) ((c)->cop_stashpv = ((pv) ? savepv(pv) : Nullch)) +#endif + +#ifndef CopSTASH +# define CopSTASH(c) (CopSTASHPV(c) ? gv_stashpv(CopSTASHPV(c),GV_ADD) : Nullhv) +#endif + +#ifndef CopSTASH_set +# define CopSTASH_set(c,hv) CopSTASHPV_set(c, (hv) ? HvNAME(hv) : Nullch) +#endif + +#ifndef CopSTASH_eq +# define CopSTASH_eq(c,hv) ((hv) && (CopSTASHPV(c) == HvNAME(hv) \ + || (CopSTASHPV(c) && HvNAME(hv) \ + && strEQ(CopSTASHPV(c), HvNAME(hv))))) +#endif + +#else +#ifndef CopFILEGV +# define CopFILEGV(c) ((c)->cop_filegv) +#endif + +#ifndef CopFILEGV_set +# define CopFILEGV_set(c,gv) ((c)->cop_filegv = (GV*)SvREFCNT_inc(gv)) +#endif + +#ifndef CopFILE_set +# define CopFILE_set(c,pv) CopFILEGV_set((c), gv_fetchfile(pv)) +#endif + +#ifndef CopFILESV +# define CopFILESV(c) (CopFILEGV(c) ? GvSV(CopFILEGV(c)) : Nullsv) +#endif + +#ifndef CopFILEAV +# define CopFILEAV(c) (CopFILEGV(c) ? GvAV(CopFILEGV(c)) : Nullav) +#endif + +#ifndef CopFILE +# define CopFILE(c) (CopFILESV(c) ? SvPVX(CopFILESV(c)) : Nullch) +#endif + +#ifndef CopSTASH +# define CopSTASH(c) ((c)->cop_stash) +#endif + +#ifndef CopSTASH_set +# define CopSTASH_set(c,hv) ((c)->cop_stash = (hv)) +#endif + +#ifndef CopSTASHPV +# define CopSTASHPV(c) (CopSTASH(c) ? HvNAME(CopSTASH(c)) : Nullch) +#endif + +#ifndef CopSTASHPV_set +# define CopSTASHPV_set(c,pv) CopSTASH_set((c), gv_stashpv(pv,GV_ADD)) +#endif + +#ifndef CopSTASH_eq +# define CopSTASH_eq(c,hv) (CopSTASH(c) == (hv)) +#endif + +#endif /* USE_ITHREADS */ +#ifndef IN_PERL_COMPILETIME +# define IN_PERL_COMPILETIME (PL_curcop == &PL_compiling) +#endif + +#ifndef IN_LOCALE_RUNTIME +# define IN_LOCALE_RUNTIME (PL_curcop->op_private & HINT_LOCALE) +#endif + +#ifndef IN_LOCALE_COMPILETIME +# define IN_LOCALE_COMPILETIME (PL_hints & HINT_LOCALE) +#endif + +#ifndef IN_LOCALE +# define IN_LOCALE (IN_PERL_COMPILETIME ? IN_LOCALE_COMPILETIME : IN_LOCALE_RUNTIME) +#endif +#ifndef IS_NUMBER_IN_UV +# define IS_NUMBER_IN_UV 0x01 +#endif + +#ifndef IS_NUMBER_GREATER_THAN_UV_MAX +# define IS_NUMBER_GREATER_THAN_UV_MAX 0x02 +#endif + +#ifndef IS_NUMBER_NOT_INT +# define IS_NUMBER_NOT_INT 0x04 +#endif + +#ifndef IS_NUMBER_NEG +# define IS_NUMBER_NEG 0x08 +#endif + +#ifndef IS_NUMBER_INFINITY +# define IS_NUMBER_INFINITY 0x10 +#endif + +#ifndef IS_NUMBER_NAN +# define IS_NUMBER_NAN 0x20 +#endif +#ifndef GROK_NUMERIC_RADIX +# define GROK_NUMERIC_RADIX(sp, send) grok_numeric_radix(sp, send) +#endif +#ifndef PERL_SCAN_GREATER_THAN_UV_MAX +# define PERL_SCAN_GREATER_THAN_UV_MAX 0x02 +#endif + +#ifndef PERL_SCAN_SILENT_ILLDIGIT +# define PERL_SCAN_SILENT_ILLDIGIT 0x04 +#endif + +#ifndef PERL_SCAN_ALLOW_UNDERSCORES +# define PERL_SCAN_ALLOW_UNDERSCORES 0x01 +#endif + +#ifndef PERL_SCAN_DISALLOW_PREFIX +# define PERL_SCAN_DISALLOW_PREFIX 0x02 +#endif + +#ifndef grok_numeric_radix +#if defined(NEED_grok_numeric_radix) +static bool DPPP_(my_grok_numeric_radix)(pTHX_ const char ** sp, const char * send); +static +#else +extern bool DPPP_(my_grok_numeric_radix)(pTHX_ const char ** sp, const char * send); +#endif + +#ifdef grok_numeric_radix +# undef grok_numeric_radix +#endif +#define grok_numeric_radix(a,b) DPPP_(my_grok_numeric_radix)(aTHX_ a,b) +#define Perl_grok_numeric_radix DPPP_(my_grok_numeric_radix) + +#if defined(NEED_grok_numeric_radix) || defined(NEED_grok_numeric_radix_GLOBAL) +bool +DPPP_(my_grok_numeric_radix)(pTHX_ const char **sp, const char *send) +{ +#ifdef USE_LOCALE_NUMERIC +#ifdef PL_numeric_radix_sv + if (PL_numeric_radix_sv && IN_LOCALE) { + STRLEN len; + char* radix = SvPV(PL_numeric_radix_sv, len); + if (*sp + len <= send && memEQ(*sp, radix, len)) { + *sp += len; + return TRUE; + } + } +#else + /* older perls don't have PL_numeric_radix_sv so the radix + * must manually be requested from locale.h + */ +#include + dTHR; /* needed for older threaded perls */ + struct lconv *lc = localeconv(); + char *radix = lc->decimal_point; + if (radix && IN_LOCALE) { + STRLEN len = strlen(radix); + if (*sp + len <= send && memEQ(*sp, radix, len)) { + *sp += len; + return TRUE; + } + } +#endif +#endif /* USE_LOCALE_NUMERIC */ + /* always try "." if numeric radix didn't match because + * we may have data from different locales mixed */ + if (*sp < send && **sp == '.') { + ++*sp; + return TRUE; + } + return FALSE; +} +#endif +#endif + +#ifndef grok_number +#if defined(NEED_grok_number) +static int DPPP_(my_grok_number)(pTHX_ const char * pv, STRLEN len, UV * valuep); +static +#else +extern int DPPP_(my_grok_number)(pTHX_ const char * pv, STRLEN len, UV * valuep); +#endif + +#ifdef grok_number +# undef grok_number +#endif +#define grok_number(a,b,c) DPPP_(my_grok_number)(aTHX_ a,b,c) +#define Perl_grok_number DPPP_(my_grok_number) + +#if defined(NEED_grok_number) || defined(NEED_grok_number_GLOBAL) +int +DPPP_(my_grok_number)(pTHX_ const char *pv, STRLEN len, UV *valuep) +{ + const char *s = pv; + const char *send = pv + len; + const UV max_div_10 = UV_MAX / 10; + const char max_mod_10 = UV_MAX % 10; + int numtype = 0; + int sawinf = 0; + int sawnan = 0; + + while (s < send && isSPACE(*s)) + s++; + if (s == send) { + return 0; + } else if (*s == '-') { + s++; + numtype = IS_NUMBER_NEG; + } + else if (*s == '+') + s++; + + if (s == send) + return 0; + + /* next must be digit or the radix separator or beginning of infinity */ + if (isDIGIT(*s)) { + /* UVs are at least 32 bits, so the first 9 decimal digits cannot + overflow. */ + UV value = *s - '0'; + /* This construction seems to be more optimiser friendly. + (without it gcc does the isDIGIT test and the *s - '0' separately) + With it gcc on arm is managing 6 instructions (6 cycles) per digit. + In theory the optimiser could deduce how far to unroll the loop + before checking for overflow. */ + if (++s < send) { + int digit = *s - '0'; + if (digit >= 0 && digit <= 9) { + value = value * 10 + digit; + if (++s < send) { + digit = *s - '0'; + if (digit >= 0 && digit <= 9) { + value = value * 10 + digit; + if (++s < send) { + digit = *s - '0'; + if (digit >= 0 && digit <= 9) { + value = value * 10 + digit; + if (++s < send) { + digit = *s - '0'; + if (digit >= 0 && digit <= 9) { + value = value * 10 + digit; + if (++s < send) { + digit = *s - '0'; + if (digit >= 0 && digit <= 9) { + value = value * 10 + digit; + if (++s < send) { + digit = *s - '0'; + if (digit >= 0 && digit <= 9) { + value = value * 10 + digit; + if (++s < send) { + digit = *s - '0'; + if (digit >= 0 && digit <= 9) { + value = value * 10 + digit; + if (++s < send) { + digit = *s - '0'; + if (digit >= 0 && digit <= 9) { + value = value * 10 + digit; + if (++s < send) { + /* Now got 9 digits, so need to check + each time for overflow. */ + digit = *s - '0'; + while (digit >= 0 && digit <= 9 + && (value < max_div_10 + || (value == max_div_10 + && digit <= max_mod_10))) { + value = value * 10 + digit; + if (++s < send) + digit = *s - '0'; + else + break; + } + if (digit >= 0 && digit <= 9 + && (s < send)) { + /* value overflowed. + skip the remaining digits, don't + worry about setting *valuep. */ + do { + s++; + } while (s < send && isDIGIT(*s)); + numtype |= + IS_NUMBER_GREATER_THAN_UV_MAX; + goto skip_value; + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + numtype |= IS_NUMBER_IN_UV; + if (valuep) + *valuep = value; + + skip_value: + if (GROK_NUMERIC_RADIX(&s, send)) { + numtype |= IS_NUMBER_NOT_INT; + while (s < send && isDIGIT(*s)) /* optional digits after the radix */ + s++; + } + } + else if (GROK_NUMERIC_RADIX(&s, send)) { + numtype |= IS_NUMBER_NOT_INT | IS_NUMBER_IN_UV; /* valuep assigned below */ + /* no digits before the radix means we need digits after it */ + if (s < send && isDIGIT(*s)) { + do { + s++; + } while (s < send && isDIGIT(*s)); + if (valuep) { + /* integer approximation is valid - it's 0. */ + *valuep = 0; + } + } + else + return 0; + } else if (*s == 'I' || *s == 'i') { + s++; if (s == send || (*s != 'N' && *s != 'n')) return 0; + s++; if (s == send || (*s != 'F' && *s != 'f')) return 0; + s++; if (s < send && (*s == 'I' || *s == 'i')) { + s++; if (s == send || (*s != 'N' && *s != 'n')) return 0; + s++; if (s == send || (*s != 'I' && *s != 'i')) return 0; + s++; if (s == send || (*s != 'T' && *s != 't')) return 0; + s++; if (s == send || (*s != 'Y' && *s != 'y')) return 0; + s++; + } + sawinf = 1; + } else if (*s == 'N' || *s == 'n') { + /* XXX TODO: There are signaling NaNs and quiet NaNs. */ + s++; if (s == send || (*s != 'A' && *s != 'a')) return 0; + s++; if (s == send || (*s != 'N' && *s != 'n')) return 0; + s++; + sawnan = 1; + } else + return 0; + + if (sawinf) { + numtype &= IS_NUMBER_NEG; /* Keep track of sign */ + numtype |= IS_NUMBER_INFINITY | IS_NUMBER_NOT_INT; + } else if (sawnan) { + numtype &= IS_NUMBER_NEG; /* Keep track of sign */ + numtype |= IS_NUMBER_NAN | IS_NUMBER_NOT_INT; + } else if (s < send) { + /* we can have an optional exponent part */ + if (*s == 'e' || *s == 'E') { + /* The only flag we keep is sign. Blow away any "it's UV" */ + numtype &= IS_NUMBER_NEG; + numtype |= IS_NUMBER_NOT_INT; + s++; + if (s < send && (*s == '-' || *s == '+')) + s++; + if (s < send && isDIGIT(*s)) { + do { + s++; + } while (s < send && isDIGIT(*s)); + } + else + return 0; + } + } + while (s < send && isSPACE(*s)) + s++; + if (s >= send) + return numtype; + if (len == 10 && memEQ(pv, "0 but true", 10)) { + if (valuep) + *valuep = 0; + return IS_NUMBER_IN_UV; + } + return 0; +} +#endif +#endif + +/* + * The grok_* routines have been modified to use warn() instead of + * Perl_warner(). Also, 'hexdigit' was the former name of PL_hexdigit, + * which is why the stack variable has been renamed to 'xdigit'. + */ + +#ifndef grok_bin +#if defined(NEED_grok_bin) +static UV DPPP_(my_grok_bin)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result); +static +#else +extern UV DPPP_(my_grok_bin)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result); +#endif + +#ifdef grok_bin +# undef grok_bin +#endif +#define grok_bin(a,b,c,d) DPPP_(my_grok_bin)(aTHX_ a,b,c,d) +#define Perl_grok_bin DPPP_(my_grok_bin) + +#if defined(NEED_grok_bin) || defined(NEED_grok_bin_GLOBAL) +UV +DPPP_(my_grok_bin)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result) +{ + const char *s = start; + STRLEN len = *len_p; + UV value = 0; + NV value_nv = 0; + + const UV max_div_2 = UV_MAX / 2; + bool allow_underscores = *flags & PERL_SCAN_ALLOW_UNDERSCORES; + bool overflowed = FALSE; + + if (!(*flags & PERL_SCAN_DISALLOW_PREFIX)) { + /* strip off leading b or 0b. + for compatibility silently suffer "b" and "0b" as valid binary + numbers. */ + if (len >= 1) { + if (s[0] == 'b') { + s++; + len--; + } + else if (len >= 2 && s[0] == '0' && s[1] == 'b') { + s+=2; + len-=2; + } + } + } + + for (; len-- && *s; s++) { + char bit = *s; + if (bit == '0' || bit == '1') { + /* Write it in this wonky order with a goto to attempt to get the + compiler to make the common case integer-only loop pretty tight. + With gcc seems to be much straighter code than old scan_bin. */ + redo: + if (!overflowed) { + if (value <= max_div_2) { + value = (value << 1) | (bit - '0'); + continue; + } + /* Bah. We're just overflowed. */ + warn("Integer overflow in binary number"); + overflowed = TRUE; + value_nv = (NV) value; + } + value_nv *= 2.0; + /* If an NV has not enough bits in its mantissa to + * represent a UV this summing of small low-order numbers + * is a waste of time (because the NV cannot preserve + * the low-order bits anyway): we could just remember when + * did we overflow and in the end just multiply value_nv by the + * right amount. */ + value_nv += (NV)(bit - '0'); + continue; + } + if (bit == '_' && len && allow_underscores && (bit = s[1]) + && (bit == '0' || bit == '1')) + { + --len; + ++s; + goto redo; + } + if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT)) + warn("Illegal binary digit '%c' ignored", *s); + break; + } + + if ( ( overflowed && value_nv > 4294967295.0) +#if UVSIZE > 4 + || (!overflowed && value > 0xffffffff ) +#endif + ) { + warn("Binary number > 0b11111111111111111111111111111111 non-portable"); + } + *len_p = s - start; + if (!overflowed) { + *flags = 0; + return value; + } + *flags = PERL_SCAN_GREATER_THAN_UV_MAX; + if (result) + *result = value_nv; + return UV_MAX; +} +#endif +#endif + +#ifndef grok_hex +#if defined(NEED_grok_hex) +static UV DPPP_(my_grok_hex)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result); +static +#else +extern UV DPPP_(my_grok_hex)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result); +#endif + +#ifdef grok_hex +# undef grok_hex +#endif +#define grok_hex(a,b,c,d) DPPP_(my_grok_hex)(aTHX_ a,b,c,d) +#define Perl_grok_hex DPPP_(my_grok_hex) + +#if defined(NEED_grok_hex) || defined(NEED_grok_hex_GLOBAL) +UV +DPPP_(my_grok_hex)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result) +{ + const char *s = start; + STRLEN len = *len_p; + UV value = 0; + NV value_nv = 0; + + const UV max_div_16 = UV_MAX / 16; + bool allow_underscores = *flags & PERL_SCAN_ALLOW_UNDERSCORES; + bool overflowed = FALSE; + const char *xdigit; + + if (!(*flags & PERL_SCAN_DISALLOW_PREFIX)) { + /* strip off leading x or 0x. + for compatibility silently suffer "x" and "0x" as valid hex numbers. + */ + if (len >= 1) { + if (s[0] == 'x') { + s++; + len--; + } + else if (len >= 2 && s[0] == '0' && s[1] == 'x') { + s+=2; + len-=2; + } + } + } + + for (; len-- && *s; s++) { + xdigit = strchr((char *) PL_hexdigit, *s); + if (xdigit) { + /* Write it in this wonky order with a goto to attempt to get the + compiler to make the common case integer-only loop pretty tight. + With gcc seems to be much straighter code than old scan_hex. */ + redo: + if (!overflowed) { + if (value <= max_div_16) { + value = (value << 4) | ((xdigit - PL_hexdigit) & 15); + continue; + } + warn("Integer overflow in hexadecimal number"); + overflowed = TRUE; + value_nv = (NV) value; + } + value_nv *= 16.0; + /* If an NV has not enough bits in its mantissa to + * represent a UV this summing of small low-order numbers + * is a waste of time (because the NV cannot preserve + * the low-order bits anyway): we could just remember when + * did we overflow and in the end just multiply value_nv by the + * right amount of 16-tuples. */ + value_nv += (NV)((xdigit - PL_hexdigit) & 15); + continue; + } + if (*s == '_' && len && allow_underscores && s[1] + && (xdigit = strchr((char *) PL_hexdigit, s[1]))) + { + --len; + ++s; + goto redo; + } + if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT)) + warn("Illegal hexadecimal digit '%c' ignored", *s); + break; + } + + if ( ( overflowed && value_nv > 4294967295.0) +#if UVSIZE > 4 + || (!overflowed && value > 0xffffffff ) +#endif + ) { + warn("Hexadecimal number > 0xffffffff non-portable"); + } + *len_p = s - start; + if (!overflowed) { + *flags = 0; + return value; + } + *flags = PERL_SCAN_GREATER_THAN_UV_MAX; + if (result) + *result = value_nv; + return UV_MAX; +} +#endif +#endif + +#ifndef grok_oct +#if defined(NEED_grok_oct) +static UV DPPP_(my_grok_oct)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result); +static +#else +extern UV DPPP_(my_grok_oct)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result); +#endif + +#ifdef grok_oct +# undef grok_oct +#endif +#define grok_oct(a,b,c,d) DPPP_(my_grok_oct)(aTHX_ a,b,c,d) +#define Perl_grok_oct DPPP_(my_grok_oct) + +#if defined(NEED_grok_oct) || defined(NEED_grok_oct_GLOBAL) +UV +DPPP_(my_grok_oct)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result) +{ + const char *s = start; + STRLEN len = *len_p; + UV value = 0; + NV value_nv = 0; + + const UV max_div_8 = UV_MAX / 8; + bool allow_underscores = *flags & PERL_SCAN_ALLOW_UNDERSCORES; + bool overflowed = FALSE; + + for (; len-- && *s; s++) { + /* gcc 2.95 optimiser not smart enough to figure that this subtraction + out front allows slicker code. */ + int digit = *s - '0'; + if (digit >= 0 && digit <= 7) { + /* Write it in this wonky order with a goto to attempt to get the + compiler to make the common case integer-only loop pretty tight. + */ + redo: + if (!overflowed) { + if (value <= max_div_8) { + value = (value << 3) | digit; + continue; + } + /* Bah. We're just overflowed. */ + warn("Integer overflow in octal number"); + overflowed = TRUE; + value_nv = (NV) value; + } + value_nv *= 8.0; + /* If an NV has not enough bits in its mantissa to + * represent a UV this summing of small low-order numbers + * is a waste of time (because the NV cannot preserve + * the low-order bits anyway): we could just remember when + * did we overflow and in the end just multiply value_nv by the + * right amount of 8-tuples. */ + value_nv += (NV)digit; + continue; + } + if (digit == ('_' - '0') && len && allow_underscores + && (digit = s[1] - '0') && (digit >= 0 && digit <= 7)) + { + --len; + ++s; + goto redo; + } + /* Allow \octal to work the DWIM way (that is, stop scanning + * as soon as non-octal characters are seen, complain only iff + * someone seems to want to use the digits eight and nine). */ + if (digit == 8 || digit == 9) { + if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT)) + warn("Illegal octal digit '%c' ignored", *s); + } + break; + } + + if ( ( overflowed && value_nv > 4294967295.0) +#if UVSIZE > 4 + || (!overflowed && value > 0xffffffff ) +#endif + ) { + warn("Octal number > 037777777777 non-portable"); + } + *len_p = s - start; + if (!overflowed) { + *flags = 0; + return value; + } + *flags = PERL_SCAN_GREATER_THAN_UV_MAX; + if (result) + *result = value_nv; + return UV_MAX; +} +#endif +#endif + +#if !defined(my_snprintf) +#if defined(NEED_my_snprintf) +static int DPPP_(my_my_snprintf)(char * buffer, const Size_t len, const char * format, ...); +static +#else +extern int DPPP_(my_my_snprintf)(char * buffer, const Size_t len, const char * format, ...); +#endif + +#define my_snprintf DPPP_(my_my_snprintf) +#define Perl_my_snprintf DPPP_(my_my_snprintf) + +#if defined(NEED_my_snprintf) || defined(NEED_my_snprintf_GLOBAL) + +int +DPPP_(my_my_snprintf)(char *buffer, const Size_t len, const char *format, ...) +{ + dTHX; + int retval; + va_list ap; + va_start(ap, format); +#ifdef HAS_VSNPRINTF + retval = vsnprintf(buffer, len, format, ap); +#else + retval = vsprintf(buffer, format, ap); +#endif + va_end(ap); + if (retval < 0 || (len > 0 && (Size_t)retval >= len)) + Perl_croak(aTHX_ "panic: my_snprintf buffer overflow"); + return retval; +} + +#endif +#endif + +#if !defined(my_sprintf) +#if defined(NEED_my_sprintf) +static int DPPP_(my_my_sprintf)(char * buffer, const char * pat, ...); +static +#else +extern int DPPP_(my_my_sprintf)(char * buffer, const char * pat, ...); +#endif + +#define my_sprintf DPPP_(my_my_sprintf) +#define Perl_my_sprintf DPPP_(my_my_sprintf) + +#if defined(NEED_my_sprintf) || defined(NEED_my_sprintf_GLOBAL) + +int +DPPP_(my_my_sprintf)(char *buffer, const char* pat, ...) +{ + va_list args; + va_start(args, pat); + vsprintf(buffer, pat, args); + va_end(args); + return strlen(buffer); +} + +#endif +#endif + +#ifdef NO_XSLOCKS +# ifdef dJMPENV +# define dXCPT dJMPENV; int rEtV = 0 +# define XCPT_TRY_START JMPENV_PUSH(rEtV); if (rEtV == 0) +# define XCPT_TRY_END JMPENV_POP; +# define XCPT_CATCH if (rEtV != 0) +# define XCPT_RETHROW JMPENV_JUMP(rEtV) +# else +# define dXCPT Sigjmp_buf oldTOP; int rEtV = 0 +# define XCPT_TRY_START Copy(top_env, oldTOP, 1, Sigjmp_buf); rEtV = Sigsetjmp(top_env, 1); if (rEtV == 0) +# define XCPT_TRY_END Copy(oldTOP, top_env, 1, Sigjmp_buf); +# define XCPT_CATCH if (rEtV != 0) +# define XCPT_RETHROW Siglongjmp(top_env, rEtV) +# endif +#endif + +#if !defined(my_strlcat) +#if defined(NEED_my_strlcat) +static Size_t DPPP_(my_my_strlcat)(char * dst, const char * src, Size_t size); +static +#else +extern Size_t DPPP_(my_my_strlcat)(char * dst, const char * src, Size_t size); +#endif + +#define my_strlcat DPPP_(my_my_strlcat) +#define Perl_my_strlcat DPPP_(my_my_strlcat) + +#if defined(NEED_my_strlcat) || defined(NEED_my_strlcat_GLOBAL) + +Size_t +DPPP_(my_my_strlcat)(char *dst, const char *src, Size_t size) +{ + Size_t used, length, copy; + + used = strlen(dst); + length = strlen(src); + if (size > 0 && used < size - 1) { + copy = (length >= size - used) ? size - used - 1 : length; + memcpy(dst + used, src, copy); + dst[used + copy] = '\0'; + } + return used + length; +} +#endif +#endif + +#if !defined(my_strlcpy) +#if defined(NEED_my_strlcpy) +static Size_t DPPP_(my_my_strlcpy)(char * dst, const char * src, Size_t size); +static +#else +extern Size_t DPPP_(my_my_strlcpy)(char * dst, const char * src, Size_t size); +#endif + +#define my_strlcpy DPPP_(my_my_strlcpy) +#define Perl_my_strlcpy DPPP_(my_my_strlcpy) + +#if defined(NEED_my_strlcpy) || defined(NEED_my_strlcpy_GLOBAL) + +Size_t +DPPP_(my_my_strlcpy)(char *dst, const char *src, Size_t size) +{ + Size_t length, copy; + + length = strlen(src); + if (size > 0) { + copy = (length >= size) ? size - 1 : length; + memcpy(dst, src, copy); + dst[copy] = '\0'; + } + return length; +} + +#endif +#endif +#ifndef PERL_PV_ESCAPE_QUOTE +# define PERL_PV_ESCAPE_QUOTE 0x0001 +#endif + +#ifndef PERL_PV_PRETTY_QUOTE +# define PERL_PV_PRETTY_QUOTE PERL_PV_ESCAPE_QUOTE +#endif + +#ifndef PERL_PV_PRETTY_ELLIPSES +# define PERL_PV_PRETTY_ELLIPSES 0x0002 +#endif + +#ifndef PERL_PV_PRETTY_LTGT +# define PERL_PV_PRETTY_LTGT 0x0004 +#endif + +#ifndef PERL_PV_ESCAPE_FIRSTCHAR +# define PERL_PV_ESCAPE_FIRSTCHAR 0x0008 +#endif + +#ifndef PERL_PV_ESCAPE_UNI +# define PERL_PV_ESCAPE_UNI 0x0100 +#endif + +#ifndef PERL_PV_ESCAPE_UNI_DETECT +# define PERL_PV_ESCAPE_UNI_DETECT 0x0200 +#endif + +#ifndef PERL_PV_ESCAPE_ALL +# define PERL_PV_ESCAPE_ALL 0x1000 +#endif + +#ifndef PERL_PV_ESCAPE_NOBACKSLASH +# define PERL_PV_ESCAPE_NOBACKSLASH 0x2000 +#endif + +#ifndef PERL_PV_ESCAPE_NOCLEAR +# define PERL_PV_ESCAPE_NOCLEAR 0x4000 +#endif + +#ifndef PERL_PV_ESCAPE_RE +# define PERL_PV_ESCAPE_RE 0x8000 +#endif + +#ifndef PERL_PV_PRETTY_NOCLEAR +# define PERL_PV_PRETTY_NOCLEAR PERL_PV_ESCAPE_NOCLEAR +#endif +#ifndef PERL_PV_PRETTY_DUMP +# define PERL_PV_PRETTY_DUMP PERL_PV_PRETTY_ELLIPSES|PERL_PV_PRETTY_QUOTE +#endif + +#ifndef PERL_PV_PRETTY_REGPROP +# define PERL_PV_PRETTY_REGPROP PERL_PV_PRETTY_ELLIPSES|PERL_PV_PRETTY_LTGT|PERL_PV_ESCAPE_RE +#endif + +/* Hint: pv_escape + * Note that unicode functionality is only backported to + * those perl versions that support it. For older perl + * versions, the implementation will fall back to bytes. + */ + +#ifndef pv_escape +#if defined(NEED_pv_escape) +static char * DPPP_(my_pv_escape)(pTHX_ SV * dsv, char const * const str, const STRLEN count, const STRLEN max, STRLEN * const escaped, const U32 flags); +static +#else +extern char * DPPP_(my_pv_escape)(pTHX_ SV * dsv, char const * const str, const STRLEN count, const STRLEN max, STRLEN * const escaped, const U32 flags); +#endif + +#ifdef pv_escape +# undef pv_escape +#endif +#define pv_escape(a,b,c,d,e,f) DPPP_(my_pv_escape)(aTHX_ a,b,c,d,e,f) +#define Perl_pv_escape DPPP_(my_pv_escape) + +#if defined(NEED_pv_escape) || defined(NEED_pv_escape_GLOBAL) + +char * +DPPP_(my_pv_escape)(pTHX_ SV *dsv, char const * const str, + const STRLEN count, const STRLEN max, + STRLEN * const escaped, const U32 flags) +{ + const char esc = flags & PERL_PV_ESCAPE_RE ? '%' : '\\'; + const char dq = flags & PERL_PV_ESCAPE_QUOTE ? '"' : esc; + char octbuf[32] = "%123456789ABCDF"; + STRLEN wrote = 0; + STRLEN chsize = 0; + STRLEN readsize = 1; +#if defined(is_utf8_string) && defined(utf8_to_uvchr) + bool isuni = flags & PERL_PV_ESCAPE_UNI ? 1 : 0; +#endif + const char *pv = str; + const char * const end = pv + count; + octbuf[0] = esc; + + if (!(flags & PERL_PV_ESCAPE_NOCLEAR)) + sv_setpvs(dsv, ""); + +#if defined(is_utf8_string) && defined(utf8_to_uvchr) + if ((flags & PERL_PV_ESCAPE_UNI_DETECT) && is_utf8_string((U8*)pv, count)) + isuni = 1; +#endif + + for (; pv < end && (!max || wrote < max) ; pv += readsize) { + const UV u = +#if defined(is_utf8_string) && defined(utf8_to_uvchr) + isuni ? utf8_to_uvchr((U8*)pv, &readsize) : +#endif + (U8)*pv; + const U8 c = (U8)u & 0xFF; + + if (u > 255 || (flags & PERL_PV_ESCAPE_ALL)) { + if (flags & PERL_PV_ESCAPE_FIRSTCHAR) + chsize = my_snprintf(octbuf, sizeof octbuf, + "%"UVxf, u); + else + chsize = my_snprintf(octbuf, sizeof octbuf, + "%cx{%"UVxf"}", esc, u); + } else if (flags & PERL_PV_ESCAPE_NOBACKSLASH) { + chsize = 1; + } else { + if (c == dq || c == esc || !isPRINT(c)) { + chsize = 2; + switch (c) { + case '\\' : /* fallthrough */ + case '%' : if (c == esc) + octbuf[1] = esc; + else + chsize = 1; + break; + case '\v' : octbuf[1] = 'v'; break; + case '\t' : octbuf[1] = 't'; break; + case '\r' : octbuf[1] = 'r'; break; + case '\n' : octbuf[1] = 'n'; break; + case '\f' : octbuf[1] = 'f'; break; + case '"' : if (dq == '"') + octbuf[1] = '"'; + else + chsize = 1; + break; + default: chsize = my_snprintf(octbuf, sizeof octbuf, + pv < end && isDIGIT((U8)*(pv+readsize)) + ? "%c%03o" : "%c%o", esc, c); + } + } else { + chsize = 1; + } + } + if (max && wrote + chsize > max) { + break; + } else if (chsize > 1) { + sv_catpvn(dsv, octbuf, chsize); + wrote += chsize; + } else { + char tmp[2]; + my_snprintf(tmp, sizeof tmp, "%c", c); + sv_catpvn(dsv, tmp, 1); + wrote++; + } + if (flags & PERL_PV_ESCAPE_FIRSTCHAR) + break; + } + if (escaped != NULL) + *escaped= pv - str; + return SvPVX(dsv); +} + +#endif +#endif + +#ifndef pv_pretty +#if defined(NEED_pv_pretty) +static char * DPPP_(my_pv_pretty)(pTHX_ SV * dsv, char const * const str, const STRLEN count, const STRLEN max, char const * const start_color, char const * const end_color, const U32 flags); +static +#else +extern char * DPPP_(my_pv_pretty)(pTHX_ SV * dsv, char const * const str, const STRLEN count, const STRLEN max, char const * const start_color, char const * const end_color, const U32 flags); +#endif + +#ifdef pv_pretty +# undef pv_pretty +#endif +#define pv_pretty(a,b,c,d,e,f,g) DPPP_(my_pv_pretty)(aTHX_ a,b,c,d,e,f,g) +#define Perl_pv_pretty DPPP_(my_pv_pretty) + +#if defined(NEED_pv_pretty) || defined(NEED_pv_pretty_GLOBAL) + +char * +DPPP_(my_pv_pretty)(pTHX_ SV *dsv, char const * const str, const STRLEN count, + const STRLEN max, char const * const start_color, char const * const end_color, + const U32 flags) +{ + const U8 dq = (flags & PERL_PV_PRETTY_QUOTE) ? '"' : '%'; + STRLEN escaped; + + if (!(flags & PERL_PV_PRETTY_NOCLEAR)) + sv_setpvs(dsv, ""); + + if (dq == '"') + sv_catpvs(dsv, "\""); + else if (flags & PERL_PV_PRETTY_LTGT) + sv_catpvs(dsv, "<"); + + if (start_color != NULL) + sv_catpv(dsv, D_PPP_CONSTPV_ARG(start_color)); + + pv_escape(dsv, str, count, max, &escaped, flags | PERL_PV_ESCAPE_NOCLEAR); + + if (end_color != NULL) + sv_catpv(dsv, D_PPP_CONSTPV_ARG(end_color)); + + if (dq == '"') + sv_catpvs(dsv, "\""); + else if (flags & PERL_PV_PRETTY_LTGT) + sv_catpvs(dsv, ">"); + + if ((flags & PERL_PV_PRETTY_ELLIPSES) && escaped < count) + sv_catpvs(dsv, "..."); + + return SvPVX(dsv); +} + +#endif +#endif + +#ifndef pv_display +#if defined(NEED_pv_display) +static char * DPPP_(my_pv_display)(pTHX_ SV * dsv, const char * pv, STRLEN cur, STRLEN len, STRLEN pvlim); +static +#else +extern char * DPPP_(my_pv_display)(pTHX_ SV * dsv, const char * pv, STRLEN cur, STRLEN len, STRLEN pvlim); +#endif + +#ifdef pv_display +# undef pv_display +#endif +#define pv_display(a,b,c,d,e) DPPP_(my_pv_display)(aTHX_ a,b,c,d,e) +#define Perl_pv_display DPPP_(my_pv_display) + +#if defined(NEED_pv_display) || defined(NEED_pv_display_GLOBAL) + +char * +DPPP_(my_pv_display)(pTHX_ SV *dsv, const char *pv, STRLEN cur, STRLEN len, STRLEN pvlim) +{ + pv_pretty(dsv, pv, cur, pvlim, NULL, NULL, PERL_PV_PRETTY_DUMP); + if (len > cur && pv[cur] == '\0') + sv_catpvs(dsv, "\\0"); + return SvPVX(dsv); +} + +#endif +#endif + +#endif /* _P_P_PORTABILITY_H_ */ + +/* End of File ppport.h */ diff --git a/t/IO-Compress-Brotli.t b/t/IO-Compress-Brotli.t new file mode 100644 index 0000000..c732120 --- /dev/null +++ b/t/IO-Compress-Brotli.t @@ -0,0 +1,18 @@ +# Before 'make install' is performed this script should be runnable with +# 'make test'. After 'make install' it should work as 'perl IO-Compress-Brotli.t' + +######################### + +# change 'tests => 1' to 'tests => last_test_to_print'; + +use strict; +use warnings; + +use Test::More tests => 1; +BEGIN { use_ok('IO::Compress::Brotli') }; + +######################### + +# Insert your test code below, the Test::More module is use()ed here so read +# its man page ( perldoc Test::More ) for help writing this test script. + diff --git a/t/IO-Uncompress-Brotli.t b/t/IO-Uncompress-Brotli.t new file mode 100644 index 0000000..88437fc --- /dev/null +++ b/t/IO-Uncompress-Brotli.t @@ -0,0 +1,28 @@ +#!/usr/bin/perl +use v5.14; +use warnings; + +use Test::More tests => 81; +use File::Slurp; +BEGIN{ use_ok('IO::Uncompress::Brotli'); } + +my $todo_re = qr/empty\.compressed\.(?:1[7-9]|2)|x\.compressed\.0[12]/; + +for my $test () { + my ($expected) = $test =~ s/\.compressed.*//r; + $expected = read_file $expected; + + if($test !~ $todo_re) { + my $decoded = unbro (scalar read_file $test); + is $decoded, $expected, "$test"; + } + + open FH, '<', $test; + my $unbro = IO::Uncompress::Brotli->create; + my ($buf, $out); + until (eof FH) { + read FH, $buf, 100; + $out .= $unbro->decompress($buf); + } + is $out, $expected, "$test (streaming)"; +} diff --git a/t/testdata/10x10y b/t/testdata/10x10y new file mode 100644 index 0000000..3f9cf86 --- /dev/null +++ b/t/testdata/10x10y @@ -0,0 +1 @@ +XXXXXXXXXXYYYYYYYYYY \ No newline at end of file diff --git a/t/testdata/10x10y.compressed b/t/testdata/10x10y.compressed new file mode 100644 index 0000000000000000000000000000000000000000..3769516d943745d67d3873caf4e9149e95d4b73d GIT binary patch literal 12 Tcmb0ZW?)#dVbiNdccv}?7&ZiR literal 0 HcmV?d00001 diff --git a/t/testdata/64x b/t/testdata/64x new file mode 100644 index 0000000..caa4171 --- /dev/null +++ b/t/testdata/64x @@ -0,0 +1 @@ +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \ No newline at end of file diff --git a/t/testdata/64x.compressed b/t/testdata/64x.compressed new file mode 100644 index 0000000000000000000000000000000000000000..74d0be10a7ded87c29f81b65a8637ce52e2d0c88 GIT binary patch literal 10 Rcmb2PXJAm-@Mva(5C9GQ13Ul# literal 0 HcmV?d00001 diff --git a/t/testdata/alice29.txt b/t/testdata/alice29.txt new file mode 100644 index 0000000..7033655 --- /dev/null +++ b/t/testdata/alice29.txt @@ -0,0 +1,3609 @@ + + + + + ALICE'S ADVENTURES IN WONDERLAND + + Lewis Carroll + + THE MILLENNIUM FULCRUM EDITION 2.9 + + + + + CHAPTER I + + Down the Rabbit-Hole + + + Alice was beginning to get very tired of sitting by her sister +on the bank, and of having nothing to do: once or twice she had +peeped into the book her sister was reading, but it had no +pictures or conversations in it, `and what is the use of a book,' +thought Alice `without pictures or conversation?' + + So she was considering in her own mind (as well as she could, +for the hot day made her feel very sleepy and stupid), whether +the pleasure of making a daisy-chain would be worth the trouble +of getting up and picking the daisies, when suddenly a White +Rabbit with pink eyes ran close by her. + + There was nothing so VERY remarkable in that; nor did Alice +think it so VERY much out of the way to hear the Rabbit say to +itself, `Oh dear! Oh dear! I shall be late!' (when she thought +it over afterwards, it occurred to her that she ought to have +wondered at this, but at the time it all seemed quite natural); +but when the Rabbit actually TOOK A WATCH OUT OF ITS WAISTCOAT- +POCKET, and looked at it, and then hurried on, Alice started to +her feet, for it flashed across her mind that she had never +before seen a rabbit with either a waistcoat-pocket, or a watch to +take out of it, and burning with curiosity, she ran across the +field after it, and fortunately was just in time to see it pop +down a large rabbit-hole under the hedge. + + In another moment down went Alice after it, never once +considering how in the world she was to get out again. + + The rabbit-hole went straight on like a tunnel for some way, +and then dipped suddenly down, so suddenly that Alice had not a +moment to think about stopping herself before she found herself +falling down a very deep well. + + Either the well was very deep, or she fell very slowly, for she +had plenty of time as she went down to look about her and to +wonder what was going to happen next. First, she tried to look +down and make out what she was coming to, but it was too dark to +see anything; then she looked at the sides of the well, and +noticed that they were filled with cupboards and book-shelves; +here and there she saw maps and pictures hung upon pegs. She +took down a jar from one of the shelves as she passed; it was +labelled `ORANGE MARMALADE', but to her great disappointment it +was empty: she did not like to drop the jar for fear of killing +somebody, so managed to put it into one of the cupboards as she +fell past it. + + `Well!' thought Alice to herself, `after such a fall as this, I +shall think nothing of tumbling down stairs! How brave they'll +all think me at home! Why, I wouldn't say anything about it, +even if I fell off the top of the house!' (Which was very likely +true.) + + Down, down, down. Would the fall NEVER come to an end! `I +wonder how many miles I've fallen by this time?' she said aloud. +`I must be getting somewhere near the centre of the earth. Let +me see: that would be four thousand miles down, I think--' (for, +you see, Alice had learnt several things of this sort in her +lessons in the schoolroom, and though this was not a VERY good +opportunity for showing off her knowledge, as there was no one to +listen to her, still it was good practice to say it over) `--yes, +that's about the right distance--but then I wonder what Latitude +or Longitude I've got to?' (Alice had no idea what Latitude was, +or Longitude either, but thought they were nice grand words to +say.) + + Presently she began again. `I wonder if I shall fall right +THROUGH the earth! How funny it'll seem to come out among the +people that walk with their heads downward! The Antipathies, I +think--' (she was rather glad there WAS no one listening, this +time, as it didn't sound at all the right word) `--but I shall +have to ask them what the name of the country is, you know. +Please, Ma'am, is this New Zealand or Australia?' (and she tried +to curtsey as she spoke--fancy CURTSEYING as you're falling +through the air! Do you think you could manage it?) `And what +an ignorant little girl she'll think me for asking! No, it'll +never do to ask: perhaps I shall see it written up somewhere.' + + Down, down, down. There was nothing else to do, so Alice soon +began talking again. `Dinah'll miss me very much to-night, I +should think!' (Dinah was the cat.) `I hope they'll remember +her saucer of milk at tea-time. Dinah my dear! I wish you were +down here with me! There are no mice in the air, I'm afraid, but +you might catch a bat, and that's very like a mouse, you know. +But do cats eat bats, I wonder?' And here Alice began to get +rather sleepy, and went on saying to herself, in a dreamy sort of +way, `Do cats eat bats? Do cats eat bats?' and sometimes, `Do +bats eat cats?' for, you see, as she couldn't answer either +question, it didn't much matter which way she put it. She felt +that she was dozing off, and had just begun to dream that she +was walking hand in hand with Dinah, and saying to her very +earnestly, `Now, Dinah, tell me the truth: did you ever eat a +bat?' when suddenly, thump! thump! down she came upon a heap of +sticks and dry leaves, and the fall was over. + + Alice was not a bit hurt, and she jumped up on to her feet in a +moment: she looked up, but it was all dark overhead; before her +was another long passage, and the White Rabbit was still in +sight, hurrying down it. There was not a moment to be lost: +away went Alice like the wind, and was just in time to hear it +say, as it turned a corner, `Oh my ears and whiskers, how late +it's getting!' She was close behind it when she turned the +corner, but the Rabbit was no longer to be seen: she found +herself in a long, low hall, which was lit up by a row of lamps +hanging from the roof. + + There were doors all round the hall, but they were all locked; +and when Alice had been all the way down one side and up the +other, trying every door, she walked sadly down the middle, +wondering how she was ever to get out again. + + Suddenly she came upon a little three-legged table, all made of +solid glass; there was nothing on it except a tiny golden key, +and Alice's first thought was that it might belong to one of the +doors of the hall; but, alas! either the locks were too large, or +the key was too small, but at any rate it would not open any of +them. However, on the second time round, she came upon a low +curtain she had not noticed before, and behind it was a little +door about fifteen inches high: she tried the little golden key +in the lock, and to her great delight it fitted! + + Alice opened the door and found that it led into a small +passage, not much larger than a rat-hole: she knelt down and +looked along the passage into the loveliest garden you ever saw. +How she longed to get out of that dark hall, and wander about +among those beds of bright flowers and those cool fountains, but +she could not even get her head though the doorway; `and even if +my head would go through,' thought poor Alice, `it would be of +very little use without my shoulders. Oh, how I wish +I could shut up like a telescope! I think I could, if I only +know how to begin.' For, you see, so many out-of-the-way things +had happened lately, that Alice had begun to think that very few +things indeed were really impossible. + + There seemed to be no use in waiting by the little door, so she +went back to the table, half hoping she might find another key on +it, or at any rate a book of rules for shutting people up like +telescopes: this time she found a little bottle on it, (`which +certainly was not here before,' said Alice,) and round the neck +of the bottle was a paper label, with the words `DRINK ME' +beautifully printed on it in large letters. + + It was all very well to say `Drink me,' but the wise little +Alice was not going to do THAT in a hurry. `No, I'll look +first,' she said, `and see whether it's marked "poison" or not'; +for she had read several nice little histories about children who +had got burnt, and eaten up by wild beasts and other unpleasant +things, all because they WOULD not remember the simple rules +their friends had taught them: such as, that a red-hot poker +will burn you if you hold it too long; and that if you cut your +finger VERY deeply with a knife, it usually bleeds; and she had +never forgotten that, if you drink much from a bottle marked +`poison,' it is almost certain to disagree with you, sooner or +later. + + However, this bottle was NOT marked `poison,' so Alice ventured +to taste it, and finding it very nice, (it had, in fact, a sort +of mixed flavour of cherry-tart, custard, pine-apple, roast +turkey, toffee, and hot buttered toast,) she very soon finished +it off. + + * * * * * * * + + * * * * * * + + * * * * * * * + + `What a curious feeling!' said Alice; `I must be shutting up +like a telescope.' + + And so it was indeed: she was now only ten inches high, and +her face brightened up at the thought that she was now the right +size for going though the little door into that lovely garden. +First, however, she waited for a few minutes to see if she was +going to shrink any further: she felt a little nervous about +this; `for it might end, you know,' said Alice to herself, `in my +going out altogether, like a candle. I wonder what I should be +like then?' And she tried to fancy what the flame of a candle is +like after the candle is blown out, for she could not remember +ever having seen such a thing. + + After a while, finding that nothing more happened, she decided +on going into the garden at once; but, alas for poor Alice! when +she got to the door, she found he had forgotten the little golden +key, and when she went back to the table for it, she found she +could not possibly reach it: she could see it quite plainly +through the glass, and she tried her best to climb up one of the +legs of the table, but it was too slippery; and when she had +tired herself out with trying, the poor little thing sat down and +cried. + + `Come, there's no use in crying like that!' said Alice to +herself, rather sharply; `I advise you to leave off this minute!' +She generally gave herself very good advice, (though she very +seldom followed it), and sometimes she scolded herself so +severely as to bring tears into her eyes; and once she remembered +trying to box her own ears for having cheated herself in a game +of croquet she was playing against herself, for this curious +child was very fond of pretending to be two people. `But it's no +use now,' thought poor Alice, `to pretend to be two people! Why, +there's hardly enough of me left to make ONE respectable +person!' + + Soon her eye fell on a little glass box that was lying under +the table: she opened it, and found in it a very small cake, on +which the words `EAT ME' were beautifully marked in currants. +`Well, I'll eat it,' said Alice, `and if it makes me grow larger, +I can reach the key; and if it makes me grow smaller, I can creep +under the door; so either way I'll get into the garden, and I +don't care which happens!' + + She ate a little bit, and said anxiously to herself, `Which +way? Which way?', holding her hand on the top of her head to +feel which way it was growing, and she was quite surprised to +find that she remained the same size: to be sure, this generally +happens when one eats cake, but Alice had got so much into the +way of expecting nothing but out-of-the-way things to happen, +that it seemed quite dull and stupid for life to go on in the +common way. + + So she set to work, and very soon finished off the cake. + + * * * * * * * + + * * * * * * + + * * * * * * * + + + + + CHAPTER II + + The Pool of Tears + + + `Curiouser and curiouser!' cried Alice (she was so much +surprised, that for the moment she quite forgot how to speak good +English); `now I'm opening out like the largest telescope that +ever was! Good-bye, feet!' (for when she looked down at her +feet, they seemed to be almost out of sight, they were getting so +far off). `Oh, my poor little feet, I wonder who will put on +your shoes and stockings for you now, dears? I'm sure _I_ shan't +be able! I shall be a great deal too far off to trouble myself +about you: you must manage the best way you can; --but I must be +kind to them,' thought Alice, `or perhaps they won't walk the +way I want to go! Let me see: I'll give them a new pair of +boots every Christmas.' + + And she went on planning to herself how she would manage it. +`They must go by the carrier,' she thought; `and how funny it'll +seem, sending presents to one's own feet! And how odd the +directions will look! + + ALICE'S RIGHT FOOT, ESQ. + HEARTHRUG, + NEAR THE FENDER, + (WITH ALICE'S LOVE). + +Oh dear, what nonsense I'm talking!' + + Just then her head struck against the roof of the hall: in +fact she was now more than nine feet high, and she at once took +up the little golden key and hurried off to the garden door. + + Poor Alice! It was as much as she could do, lying down on one +side, to look through into the garden with one eye; but to get +through was more hopeless than ever: she sat down and began to +cry again. + + `You ought to be ashamed of yourself,' said Alice, `a great +girl like you,' (she might well say this), `to go on crying in +this way! Stop this moment, I tell you!' But she went on all +the same, shedding gallons of tears, until there was a large pool +all round her, about four inches deep and reaching half down the +hall. + + After a time she heard a little pattering of feet in the +distance, and she hastily dried her eyes to see what was coming. +It was the White Rabbit returning, splendidly dressed, with a +pair of white kid gloves in one hand and a large fan in the +other: he came trotting along in a great hurry, muttering to +himself as he came, `Oh! the Duchess, the Duchess! Oh! won't she +be savage if I've kept her waiting!' Alice felt so desperate +that she was ready to ask help of any one; so, when the Rabbit +came near her, she began, in a low, timid voice, `If you please, +sir--' The Rabbit started violently, dropped the white kid +gloves and the fan, and skurried away into the darkness as hard +as he could go. + + Alice took up the fan and gloves, and, as the hall was very +hot, she kept fanning herself all the time she went on talking: +`Dear, dear! How queer everything is to-day! And yesterday +things went on just as usual. I wonder if I've been changed in +the night? Let me think: was I the same when I got up this +morning? I almost think I can remember feeling a little +different. But if I'm not the same, the next question is, Who in +the world am I? Ah, THAT'S the great puzzle!' And she began +thinking over all the children she knew that were of the same age +as herself, to see if she could have been changed for any of +them. + + `I'm sure I'm not Ada,' she said, `for her hair goes in such +long ringlets, and mine doesn't go in ringlets at all; and I'm +sure I can't be Mabel, for I know all sorts of things, and she, +oh! she knows such a very little! Besides, SHE'S she, and I'm I, +and--oh dear, how puzzling it all is! I'll try if I know all the +things I used to know. Let me see: four times five is twelve, +and four times six is thirteen, and four times seven is--oh dear! +I shall never get to twenty at that rate! However, the +Multiplication Table doesn't signify: let's try Geography. +London is the capital of Paris, and Paris is the capital of Rome, +and Rome--no, THAT'S all wrong, I'm certain! I must have been +changed for Mabel! I'll try and say "How doth the little--"' +and she crossed her hands on her lap as if she were saying lessons, +and began to repeat it, but her voice sounded hoarse and +strange, and the words did not come the same as they used to do:-- + + `How doth the little crocodile + Improve his shining tail, + And pour the waters of the Nile + On every golden scale! + + `How cheerfully he seems to grin, + How neatly spread his claws, + And welcome little fishes in + With gently smiling jaws!' + + `I'm sure those are not the right words,' said poor Alice, and +her eyes filled with tears again as she went on, `I must be Mabel +after all, and I shall have to go and live in that poky little +house, and have next to no toys to play with, and oh! ever so +many lessons to learn! No, I've made up my mind about it; if I'm +Mabel, I'll stay down here! It'll be no use their putting their +heads down and saying "Come up again, dear!" I shall only look +up and say "Who am I then? Tell me that first, and then, if I +like being that person, I'll come up: if not, I'll stay down +here till I'm somebody else"--but, oh dear!' cried Alice, with a +sudden burst of tears, `I do wish they WOULD put their heads +down! I am so VERY tired of being all alone here!' + + As she said this she looked down at her hands, and was +surprised to see that she had put on one of the Rabbit's little +white kid gloves while she was talking. `How CAN I have done +that?' she thought. `I must be growing small again.' She got up +and went to the table to measure herself by it, and found that, +as nearly as she could guess, she was now about two feet high, +and was going on shrinking rapidly: she soon found out that the +cause of this was the fan she was holding, and she dropped it +hastily, just in time to avoid shrinking away altogether. + +`That WAS a narrow escape!' said Alice, a good deal frightened at +the sudden change, but very glad to find herself still in +existence; `and now for the garden!' and she ran with all speed +back to the little door: but, alas! the little door was shut +again, and the little golden key was lying on the glass table as +before, `and things are worse than ever,' thought the poor child, +`for I never was so small as this before, never! And I declare +it's too bad, that it is!' + + As she said these words her foot slipped, and in another +moment, splash! she was up to her chin in salt water. He first +idea was that she had somehow fallen into the sea, `and in that +case I can go back by railway,' she said to herself. (Alice had +been to the seaside once in her life, and had come to the general +conclusion, that wherever you go to on the English coast you find +a number of bathing machines in the sea, some children digging in +the sand with wooden spades, then a row of lodging houses, and +behind them a railway station.) However, she soon made out that +she was in the pool of tears which she had wept when she was nine +feet high. + + `I wish I hadn't cried so much!' said Alice, as she swam about, +trying to find her way out. `I shall be punished for it now, I +suppose, by being drowned in my own tears! That WILL be a queer +thing, to be sure! However, everything is queer to-day.' + + Just then she heard something splashing about in the pool a +little way off, and she swam nearer to make out what it was: at +first she thought it must be a walrus or hippopotamus, but then +she remembered how small she was now, and she soon made out that +it was only a mouse that had slipped in like herself. + + `Would it be of any use, now,' thought Alice, `to speak to this +mouse? Everything is so out-of-the-way down here, that I should +think very likely it can talk: at any rate, there's no harm in +trying.' So she began: `O Mouse, do you know the way out of +this pool? I am very tired of swimming about here, O Mouse!' +(Alice thought this must be the right way of speaking to a mouse: +she had never done such a thing before, but she remembered having +seen in her brother's Latin Grammar, `A mouse--of a mouse--to a +mouse--a mouse--O mouse!' The Mouse looked at her rather +inquisitively, and seemed to her to wink with one of its little +eyes, but it said nothing. + + `Perhaps it doesn't understand English,' thought Alice; `I +daresay it's a French mouse, come over with William the +Conqueror.' (For, with all her knowledge of history, Alice had +no very clear notion how long ago anything had happened.) So she +began again: `Ou est ma chatte?' which was the first sentence in +her French lesson-book. The Mouse gave a sudden leap out of the +water, and seemed to quiver all over with fright. `Oh, I beg +your pardon!' cried Alice hastily, afraid that she had hurt the +poor animal's feelings. `I quite forgot you didn't like cats.' + + `Not like cats!' cried the Mouse, in a shrill, passionate +voice. `Would YOU like cats if you were me?' + + `Well, perhaps not,' said Alice in a soothing tone: `don't be +angry about it. And yet I wish I could show you our cat Dinah: +I think you'd take a fancy to cats if you could only see her. +She is such a dear quiet thing,' Alice went on, half to herself, +as she swam lazily about in the pool, `and she sits purring so +nicely by the fire, licking her paws and washing her face--and +she is such a nice soft thing to nurse--and she's such a capital +one for catching mice--oh, I beg your pardon!' cried Alice again, +for this time the Mouse was bristling all over, and she felt +certain it must be really offended. `We won't talk about her any +more if you'd rather not.' + + `We indeed!' cried the Mouse, who was trembling down to the end +of his tail. `As if I would talk on such a subject! Our family +always HATED cats: nasty, low, vulgar things! Don't let me hear +the name again!' + + `I won't indeed!' said Alice, in a great hurry to change the +subject of conversation. `Are you--are you fond--of--of dogs?' +The Mouse did not answer, so Alice went on eagerly: `There is +such a nice little dog near our house I should like to show you! +A little bright-eyed terrier, you know, with oh, such long curly +brown hair! And it'll fetch things when you throw them, and +it'll sit up and beg for its dinner, and all sorts of things--I +can't remember half of them--and it belongs to a farmer, you +know, and he says it's so useful, it's worth a hundred pounds! +He says it kills all the rats and--oh dear!' cried Alice in a +sorrowful tone, `I'm afraid I've offended it again!' For the +Mouse was swimming away from her as hard as it could go, and +making quite a commotion in the pool as it went. + + So she called softly after it, `Mouse dear! Do come back +again, and we won't talk about cats or dogs either, if you don't +like them!' When the Mouse heard this, it turned round and swam +slowly back to her: its face was quite pale (with passion, Alice +thought), and it said in a low trembling voice, `Let us get to +the shore, and then I'll tell you my history, and you'll +understand why it is I hate cats and dogs.' + + It was high time to go, for the pool was getting quite crowded +with the birds and animals that had fallen into it: there were a +Duck and a Dodo, a Lory and an Eaglet, and several other curious +creatures. Alice led the way, and the whole party swam to the +shore. + + + + CHAPTER III + + A Caucus-Race and a Long Tale + + + They were indeed a queer-looking party that assembled on the +bank--the birds with draggled feathers, the animals with their +fur clinging close to them, and all dripping wet, cross, and +uncomfortable. + + The first question of course was, how to get dry again: they +had a consultation about this, and after a few minutes it seemed +quite natural to Alice to find herself talking familiarly with +them, as if she had known them all her life. Indeed, she had +quite a long argument with the Lory, who at last turned sulky, +and would only say, `I am older than you, and must know better'; +and this Alice would not allow without knowing how old it was, +and, as the Lory positively refused to tell its age, there was no +more to be said. + + At last the Mouse, who seemed to be a person of authority among +them, called out, `Sit down, all of you, and listen to me! I'LL +soon make you dry enough!' They all sat down at once, in a large +ring, with the Mouse in the middle. Alice kept her eyes +anxiously fixed on it, for she felt sure she would catch a bad +cold if she did not get dry very soon. + + `Ahem!' said the Mouse with an important air, `are you all ready? +This is the driest thing I know. Silence all round, if you please! +"William the Conqueror, whose cause was favoured by the pope, was +soon submitted to by the English, who wanted leaders, and had been +of late much accustomed to usurpation and conquest. Edwin and +Morcar, the earls of Mercia and Northumbria--"' + + `Ugh!' said the Lory, with a shiver. + + `I beg your pardon!' said the Mouse, frowning, but very +politely: `Did you speak?' + + `Not I!' said the Lory hastily. + + `I thought you did,' said the Mouse. `--I proceed. "Edwin and +Morcar, the earls of Mercia and Northumbria, declared for him: +and even Stigand, the patriotic archbishop of Canterbury, found +it advisable--"' + + `Found WHAT?' said the Duck. + + `Found IT,' the Mouse replied rather crossly: `of course you +know what "it" means.' + + `I know what "it" means well enough, when I find a thing,' said +the Duck: `it's generally a frog or a worm. The question is, +what did the archbishop find?' + + The Mouse did not notice this question, but hurriedly went on, +`"--found it advisable to go with Edgar Atheling to meet William +and offer him the crown. William's conduct at first was +moderate. But the insolence of his Normans--" How are you +getting on now, my dear?' it continued, turning to Alice as it +spoke. + + `As wet as ever,' said Alice in a melancholy tone: `it doesn't +seem to dry me at all.' + + `In that case,' said the Dodo solemnly, rising to its feet, `I +move that the meeting adjourn, for the immediate adoption of more +energetic remedies--' + + `Speak English!' said the Eaglet. `I don't know the meaning of +half those long words, and, what's more, I don't believe you do +either!' And the Eaglet bent down its head to hide a smile: +some of the other birds tittered audibly. + + `What I was going to say,' said the Dodo in an offended tone, +`was, that the best thing to get us dry would be a Caucus-race.' + + `What IS a Caucus-race?' said Alice; not that she wanted much +to know, but the Dodo had paused as if it thought that SOMEBODY +ought to speak, and no one else seemed inclined to say anything. + + `Why,' said the Dodo, `the best way to explain it is to do it.' +(And, as you might like to try the thing yourself, some winter +day, I will tell you how the Dodo managed it.) + + First it marked out a race-course, in a sort of circle, (`the +exact shape doesn't matter,' it said,) and then all the party +were placed along the course, here and there. There was no `One, +two, three, and away,' but they began running when they liked, +and left off when they liked, so that it was not easy to know +when the race was over. However, when they had been running half +an hour or so, and were quite dry again, the Dodo suddenly called +out `The race is over!' and they all crowded round it, panting, +and asking, `But who has won?' + + This question the Dodo could not answer without a great deal of +thought, and it sat for a long time with one finger pressed upon +its forehead (the position in which you usually see Shakespeare, +in the pictures of him), while the rest waited in silence. At +last the Dodo said, `EVERYBODY has won, and all must have +prizes.' + + `But who is to give the prizes?' quite a chorus of voices +asked. + + `Why, SHE, of course,' said the Dodo, pointing to Alice with +one finger; and the whole party at once crowded round her, +calling out in a confused way, `Prizes! Prizes!' + + Alice had no idea what to do, and in despair she put her hand +in her pocket, and pulled out a box of comfits, (luckily the salt +water had not got into it), and handed them round as prizes. +There was exactly one a-piece all round. + + `But she must have a prize herself, you know,' said the Mouse. + + `Of course,' the Dodo replied very gravely. `What else have +you got in your pocket?' he went on, turning to Alice. + + `Only a thimble,' said Alice sadly. + + `Hand it over here,' said the Dodo. + + Then they all crowded round her once more, while the Dodo +solemnly presented the thimble, saying `We beg your acceptance of +this elegant thimble'; and, when it had finished this short +speech, they all cheered. + + Alice thought the whole thing very absurd, but they all looked +so grave that she did not dare to laugh; and, as she could not +think of anything to say, she simply bowed, and took the thimble, +looking as solemn as she could. + + The next thing was to eat the comfits: this caused some noise +and confusion, as the large birds complained that they could not +taste theirs, and the small ones choked and had to be patted on +the back. However, it was over at last, and they sat down again +in a ring, and begged the Mouse to tell them something more. + + `You promised to tell me your history, you know,' said Alice, +`and why it is you hate--C and D,' she added in a whisper, half +afraid that it would be offended again. + + `Mine is a long and a sad tale!' said the Mouse, turning to +Alice, and sighing. + + `It IS a long tail, certainly,' said Alice, looking down with +wonder at the Mouse's tail; `but why do you call it sad?' And +she kept on puzzling about it while the Mouse was speaking, so +that her idea of the tale was something like this:-- + + `Fury said to a + mouse, That he + met in the + house, + "Let us + both go to + law: I will + prosecute + YOU. --Come, + I'll take no + denial; We + must have a + trial: For + really this + morning I've + nothing + to do." + Said the + mouse to the + cur, "Such + a trial, + dear Sir, + With + no jury + or judge, + would be + wasting + our + breath." + "I'll be + judge, I'll + be jury," + Said + cunning + old Fury: + "I'll + try the + whole + cause, + and + condemn + you + to + death."' + + + `You are not attending!' said the Mouse to Alice severely. +`What are you thinking of?' + + `I beg your pardon,' said Alice very humbly: `you had got to +the fifth bend, I think?' + + `I had NOT!' cried the Mouse, sharply and very angrily. + + `A knot!' said Alice, always ready to make herself useful, and +looking anxiously about her. `Oh, do let me help to undo it!' + + `I shall do nothing of the sort,' said the Mouse, getting up +and walking away. `You insult me by talking such nonsense!' + + `I didn't mean it!' pleaded poor Alice. `But you're so easily +offended, you know!' + + The Mouse only growled in reply. + + `Please come back and finish your story!' Alice called after +it; and the others all joined in chorus, `Yes, please do!' but +the Mouse only shook its head impatiently, and walked a little +quicker. + + `What a pity it wouldn't stay!' sighed the Lory, as soon as it +was quite out of sight; and an old Crab took the opportunity of +saying to her daughter `Ah, my dear! Let this be a lesson to you +never to lose YOUR temper!' `Hold your tongue, Ma!' said the +young Crab, a little snappishly. `You're enough to try the +patience of an oyster!' + + `I wish I had our Dinah here, I know I do!' said Alice aloud, +addressing nobody in particular. `She'd soon fetch it back!' + + `And who is Dinah, if I might venture to ask the question?' +said the Lory. + + Alice replied eagerly, for she was always ready to talk about +her pet: `Dinah's our cat. And she's such a capital one for +catching mice you can't think! And oh, I wish you could see her +after the birds! Why, she'll eat a little bird as soon as look +at it!' + + This speech caused a remarkable sensation among the party. +Some of the birds hurried off at once: one the old Magpie began +wrapping itself up very carefully, remarking, `I really must be +getting home; the night-air doesn't suit my throat!' and a Canary +called out in a trembling voice to its children, `Come away, my +dears! It's high time you were all in bed!' On various pretexts +they all moved off, and Alice was soon left alone. + + `I wish I hadn't mentioned Dinah!' she said to herself in a +melancholy tone. `Nobody seems to like her, down here, and I'm +sure she's the best cat in the world! Oh, my dear Dinah! I +wonder if I shall ever see you any more!' And here poor Alice +began to cry again, for she felt very lonely and low-spirited. +In a little while, however, she again heard a little pattering of +footsteps in the distance, and she looked up eagerly, half hoping +that the Mouse had changed his mind, and was coming back to +finish his story. + + + + CHAPTER IV + + The Rabbit Sends in a Little Bill + + + It was the White Rabbit, trotting slowly back again, and +looking anxiously about as it went, as if it had lost something; +and she heard it muttering to itself `The Duchess! The Duchess! +Oh my dear paws! Oh my fur and whiskers! She'll get me +executed, as sure as ferrets are ferrets! Where CAN I have +dropped them, I wonder?' Alice guessed in a moment that it was +looking for the fan and the pair of white kid gloves, and she +very good-naturedly began hunting about for them, but they were +nowhere to be seen--everything seemed to have changed since her +swim in the pool, and the great hall, with the glass table and +the little door, had vanished completely. + + Very soon the Rabbit noticed Alice, as she went hunting about, +and called out to her in an angry tone, `Why, Mary Ann, what ARE +you doing out here? Run home this moment, and fetch me a pair of +gloves and a fan! Quick, now!' And Alice was so much frightened +that she ran off at once in the direction it pointed to, without +trying to explain the mistake it had made. + + `He took me for his housemaid,' she said to herself as she ran. +`How surprised he'll be when he finds out who I am! But I'd +better take him his fan and gloves--that is, if I can find them.' +As she said this, she came upon a neat little house, on the door +of which was a bright brass plate with the name `W. RABBIT' +engraved upon it. She went in without knocking, and hurried +upstairs, in great fear lest she should meet the real Mary Ann, +and be turned out of the house before she had found the fan and +gloves. + + `How queer it seems,' Alice said to herself, `to be going +messages for a rabbit! I suppose Dinah'll be sending me on +messages next!' And she began fancying the sort of thing that +would happen: `"Miss Alice! Come here directly, and get ready +for your walk!" "Coming in a minute, nurse! But I've got to see +that the mouse doesn't get out." Only I don't think,' Alice went +on, `that they'd let Dinah stop in the house if it began ordering +people about like that!' + + By this time she had found her way into a tidy little room with +a table in the window, and on it (as she had hoped) a fan and two +or three pairs of tiny white kid gloves: she took up the fan and +a pair of the gloves, and was just going to leave the room, when +her eye fell upon a little bottle that stood near the looking- +glass. There was no label this time with the words `DRINK ME,' +but nevertheless she uncorked it and put it to her lips. `I know +SOMETHING interesting is sure to happen,' she said to herself, +`whenever I eat or drink anything; so I'll just see what this +bottle does. I do hope it'll make me grow large again, for +really I'm quite tired of being such a tiny little thing!' + + It did so indeed, and much sooner than she had expected: +before she had drunk half the bottle, she found her head pressing +against the ceiling, and had to stoop to save her neck from being +broken. She hastily put down the bottle, saying to herself +`That's quite enough--I hope I shan't grow any more--As it is, I +can't get out at the door--I do wish I hadn't drunk quite so +much!' + + Alas! it was too late to wish that! She went on growing, and +growing, and very soon had to kneel down on the floor: in +another minute there was not even room for this, and she tried +the effect of lying down with one elbow against the door, and the +other arm curled round her head. Still she went on growing, and, +as a last resource, she put one arm out of the window, and one +foot up the chimney, and said to herself `Now I can do no more, +whatever happens. What WILL become of me?' + + Luckily for Alice, the little magic bottle had now had its full +effect, and she grew no larger: still it was very uncomfortable, +and, as there seemed to be no sort of chance of her ever getting +out of the room again, no wonder she felt unhappy. + + `It was much pleasanter at home,' thought poor Alice, `when one +wasn't always growing larger and smaller, and being ordered about +by mice and rabbits. I almost wish I hadn't gone down that +rabbit-hole--and yet--and yet--it's rather curious, you know, +this sort of life! I do wonder what CAN have happened to me! +When I used to read fairy-tales, I fancied that kind of thing +never happened, and now here I am in the middle of one! There +ought to be a book written about me, that there ought! And when +I grow up, I'll write one--but I'm grown up now,' she added in a +sorrowful tone; `at least there's no room to grow up any more +HERE.' + + `But then,' thought Alice, `shall I NEVER get any older than I +am now? That'll be a comfort, one way--never to be an old woman- +-but then--always to have lessons to learn! Oh, I shouldn't like +THAT!' + + `Oh, you foolish Alice!' she answered herself. `How can you +learn lessons in here? Why, there's hardly room for YOU, and no +room at all for any lesson-books!' + + And so she went on, taking first one side and then the other, +and making quite a conversation of it altogether; but after a few +minutes she heard a voice outside, and stopped to listen. + + `Mary Ann! Mary Ann!' said the voice. `Fetch me my gloves +this moment!' Then came a little pattering of feet on the +stairs. Alice knew it was the Rabbit coming to look for her, and +she trembled till she shook the house, quite forgetting that she +was now about a thousand times as large as the Rabbit, and had no +reason to be afraid of it. + + Presently the Rabbit came up to the door, and tried to open it; +but, as the door opened inwards, and Alice's elbow was pressed +hard against it, that attempt proved a failure. Alice heard it +say to itself `Then I'll go round and get in at the window.' + + `THAT you won't' thought Alice, and, after waiting till she +fancied she heard the Rabbit just under the window, she suddenly +spread out her hand, and made a snatch in the air. She did not +get hold of anything, but she heard a little shriek and a fall, +and a crash of broken glass, from which she concluded that it was +just possible it had fallen into a cucumber-frame, or something +of the sort. + + Next came an angry voice--the Rabbit's--`Pat! Pat! Where are +you?' And then a voice she had never heard before, `Sure then +I'm here! Digging for apples, yer honour!' + + `Digging for apples, indeed!' said the Rabbit angrily. `Here! +Come and help me out of THIS!' (Sounds of more broken glass.) + + `Now tell me, Pat, what's that in the window?' + + `Sure, it's an arm, yer honour!' (He pronounced it `arrum.') + + `An arm, you goose! Who ever saw one that size? Why, it +fills the whole window!' + + `Sure, it does, yer honour: but it's an arm for all that.' + + `Well, it's got no business there, at any rate: go and take it +away!' + + There was a long silence after this, and Alice could only hear +whispers now and then; such as, `Sure, I don't like it, yer +honour, at all, at all!' `Do as I tell you, you coward!' and at +last she spread out her hand again, and made another snatch in +the air. This time there were TWO little shrieks, and more +sounds of broken glass. `What a number of cucumber-frames there +must be!' thought Alice. `I wonder what they'll do next! As for +pulling me out of the window, I only wish they COULD! I'm sure I +don't want to stay in here any longer!' + + She waited for some time without hearing anything more: at +last came a rumbling of little cartwheels, and the sound of a +good many voice all talking together: she made out the words: +`Where's the other ladder?--Why, I hadn't to bring but one; +Bill's got the other--Bill! fetch it here, lad!--Here, put 'em up +at this corner--No, tie 'em together first--they don't reach half +high enough yet--Oh! they'll do well enough; don't be particular- +-Here, Bill! catch hold of this rope--Will the roof bear?--Mind +that loose slate--Oh, it's coming down! Heads below!' (a loud +crash)--`Now, who did that?--It was Bill, I fancy--Who's to go +down the chimney?--Nay, I shan't! YOU do it!--That I won't, +then!--Bill's to go down--Here, Bill! the master says you're to +go down the chimney!' + + `Oh! So Bill's got to come down the chimney, has he?' said +Alice to herself. `Shy, they seem to put everything upon Bill! +I wouldn't be in Bill's place for a good deal: this fireplace is +narrow, to be sure; but I THINK I can kick a little!' + + She drew her foot as far down the chimney as she could, and +waited till she heard a little animal (she couldn't guess of what +sort it was) scratching and scrambling about in the chimney close +above her: then, saying to herself `This is Bill,' she gave one +sharp kick, and waited to see what would happen next. + + The first thing she heard was a general chorus of `There goes +Bill!' then the Rabbit's voice along--`Catch him, you by the +hedge!' then silence, and then another confusion of voices--`Hold +up his head--Brandy now--Don't choke him--How was it, old fellow? +What happened to you? Tell us all about it!' + + Last came a little feeble, squeaking voice, (`That's Bill,' +thought Alice,) `Well, I hardly know--No more, thank ye; I'm +better now--but I'm a deal too flustered to tell you--all I know +is, something comes at me like a Jack-in-the-box, and up I goes +like a sky-rocket!' + + `So you did, old fellow!' said the others. + + `We must burn the house down!' said the Rabbit's voice; and +Alice called out as loud as she could, `If you do. I'll set +Dinah at you!' + + There was a dead silence instantly, and Alice thought to +herself, `I wonder what they WILL do next! If they had any +sense, they'd take the roof off.' After a minute or two, they +began moving about again, and Alice heard the Rabbit say, `A +barrowful will do, to begin with.' + + `A barrowful of WHAT?' thought Alice; but she had not long to +doubt, for the next moment a shower of little pebbles came +rattling in at the window, and some of them hit her in the face. +`I'll put a stop to this,' she said to herself, and shouted out, +`You'd better not do that again!' which produced another dead +silence. + + Alice noticed with some surprise that the pebbles were all +turning into little cakes as they lay on the floor, and a bright +idea came into her head. `If I eat one of these cakes,' she +thought, `it's sure to make SOME change in my size; and as it +can't possibly make me larger, it must make me smaller, I +suppose.' + + So she swallowed one of the cakes, and was delighted to find +that she began shrinking directly. As soon as she was small +enough to get through the door, she ran out of the house, and +found quite a crowd of little animals and birds waiting outside. +The poor little Lizard, Bill, was in the middle, being held up by +two guinea-pigs, who were giving it something out of a bottle. +They all made a rush at Alice the moment she appeared; but she +ran off as hard as she could, and soon found herself safe in a +thick wood. + + `The first thing I've got to do,' said Alice to herself, as she +wandered about in the wood, `is to grow to my right size again; +and the second thing is to find my way into that lovely garden. +I think that will be the best plan.' + + It sounded an excellent plan, no doubt, and very neatly and +simply arranged; the only difficulty was, that she had not the +smallest idea how to set about it; and while she was peering +about anxiously among the trees, a little sharp bark just over +her head made her look up in a great hurry. + + An enormous puppy was looking down at her with large round +eyes, and feebly stretching out one paw, trying to touch her. +`Poor little thing!' said Alice, in a coaxing tone, and she tried +hard to whistle to it; but she was terribly frightened all the +time at the thought that it might be hungry, in which case it +would be very likely to eat her up in spite of all her coaxing. + + Hardly knowing what she did, she picked up a little bit of +stick, and held it out to the puppy; whereupon the puppy jumped +into the air off all its feet at once, with a yelp of delight, +and rushed at the stick, and made believe to worry it; then Alice +dodged behind a great thistle, to keep herself from being run +over; and the moment she appeared on the other side, the puppy +made another rush at the stick, and tumbled head over heels in +its hurry to get hold of it; then Alice, thinking it was very +like having a game of play with a cart-horse, and expecting every +moment to be trampled under its feet, ran round the thistle +again; then the puppy began a series of short charges at the +stick, running a very little way forwards each time and a long +way back, and barking hoarsely all the while, till at last it sat +down a good way off, panting, with its tongue hanging out of its +mouth, and its great eyes half shut. + + This seemed to Alice a good opportunity for making her escape; +so she set off at once, and ran till she was quite tired and out +of breath, and till the puppy's bark sounded quite faint in the +distance. + + `And yet what a dear little puppy it was!' said Alice, as she +leant against a buttercup to rest herself, and fanned herself +with one of the leaves: `I should have liked teaching it tricks +very much, if--if I'd only been the right size to do it! Oh +dear! I'd nearly forgotten that I've got to grow up again! Let +me see--how IS it to be managed? I suppose I ought to eat or +drink something or other; but the great question is, what?' + + The great question certainly was, what? Alice looked all round +her at the flowers and the blades of grass, but she did not see +anything that looked like the right thing to eat or drink under +the circumstances. There was a large mushroom growing near her, +about the same height as herself; and when she had looked under +it, and on both sides of it, and behind it, it occurred to her +that she might as well look and see what was on the top of it. + + She stretched herself up on tiptoe, and peeped over the edge of +the mushroom, and her eyes immediately met those of a large +caterpillar, that was sitting on the top with its arms folded, +quietly smoking a long hookah, and taking not the smallest notice +of her or of anything else. + + + + CHAPTER V + + Advice from a Caterpillar + + + The Caterpillar and Alice looked at each other for some time in +silence: at last the Caterpillar took the hookah out of its +mouth, and addressed her in a languid, sleepy voice. + + `Who are YOU?' said the Caterpillar. + + This was not an encouraging opening for a conversation. Alice +replied, rather shyly, `I--I hardly know, sir, just at present-- +at least I know who I WAS when I got up this morning, but I think +I must have been changed several times since then.' + + `What do you mean by that?' said the Caterpillar sternly. +`Explain yourself!' + + `I can't explain MYSELF, I'm afraid, sir' said Alice, `because +I'm not myself, you see.' + + `I don't see,' said the Caterpillar. + + `I'm afraid I can't put it more clearly,' Alice replied very +politely, `for I can't understand it myself to begin with; and +being so many different sizes in a day is very confusing.' + + `It isn't,' said the Caterpillar. + + `Well, perhaps you haven't found it so yet,' said Alice; `but +when you have to turn into a chrysalis--you will some day, you +know--and then after that into a butterfly, I should think you'll +feel it a little queer, won't you?' + + `Not a bit,' said the Caterpillar. + + `Well, perhaps your feelings may be different,' said Alice; +`all I know is, it would feel very queer to ME.' + + `You!' said the Caterpillar contemptuously. `Who are YOU?' + + Which brought them back again to the beginning of the +conversation. Alice felt a little irritated at the Caterpillar's +making such VERY short remarks, and she drew herself up and said, +very gravely, `I think, you ought to tell me who YOU are, first.' + + `Why?' said the Caterpillar. + + Here was another puzzling question; and as Alice could not +think of any good reason, and as the Caterpillar seemed to be in +a VERY unpleasant state of mind, she turned away. + + `Come back!' the Caterpillar called after her. `I've something +important to say!' + + This sounded promising, certainly: Alice turned and came back +again. + + `Keep your temper,' said the Caterpillar. + + `Is that all?' said Alice, swallowing down her anger as well as +she could. + + `No,' said the Caterpillar. + + Alice thought she might as well wait, as she had nothing else +to do, and perhaps after all it might tell her something worth +hearing. For some minutes it puffed away without speaking, but +at last it unfolded its arms, took the hookah out of its mouth +again, and said, `So you think you're changed, do you?' + + `I'm afraid I am, sir,' said Alice; `I can't remember things as +I used--and I don't keep the same size for ten minutes together!' + + `Can't remember WHAT things?' said the Caterpillar. + + `Well, I've tried to say "HOW DOTH THE LITTLE BUSY BEE," but it +all came different!' Alice replied in a very melancholy voice. + + `Repeat, "YOU ARE OLD, FATHER WILLIAM,"' said the Caterpillar. + + Alice folded her hands, and began:-- + + `You are old, Father William,' the young man said, + `And your hair has become very white; + And yet you incessantly stand on your head-- + Do you think, at your age, it is right?' + + `In my youth,' Father William replied to his son, + `I feared it might injure the brain; + But, now that I'm perfectly sure I have none, + Why, I do it again and again.' + + `You are old,' said the youth, `as I mentioned before, + And have grown most uncommonly fat; + Yet you turned a back-somersault in at the door-- + Pray, what is the reason of that?' + + `In my youth,' said the sage, as he shook his grey locks, + `I kept all my limbs very supple + By the use of this ointment--one shilling the box-- + Allow me to sell you a couple?' + + `You are old,' said the youth, `and your jaws are too weak + For anything tougher than suet; + Yet you finished the goose, with the bones and the beak-- + Pray how did you manage to do it?' + + `In my youth,' said his father, `I took to the law, + And argued each case with my wife; + And the muscular strength, which it gave to my jaw, + Has lasted the rest of my life.' + + `You are old,' said the youth, `one would hardly suppose + That your eye was as steady as ever; + Yet you balanced an eel on the end of your nose-- + What made you so awfully clever?' + + `I have answered three questions, and that is enough,' + Said his father; `don't give yourself airs! + Do you think I can listen all day to such stuff? + Be off, or I'll kick you down stairs!' + + + `That is not said right,' said the Caterpillar. + + `Not QUITE right, I'm afraid,' said Alice, timidly; `some of the +words have got altered.' + + `It is wrong from beginning to end,' said the Caterpillar +decidedly, and there was silence for some minutes. + + The Caterpillar was the first to speak. + + `What size do you want to be?' it asked. + + `Oh, I'm not particular as to size,' Alice hastily replied; +`only one doesn't like changing so often, you know.' + + `I DON'T know,' said the Caterpillar. + + Alice said nothing: she had never been so much contradicted in +her life before, and she felt that she was losing her temper. + + `Are you content now?' said the Caterpillar. + + `Well, I should like to be a LITTLE larger, sir, if you +wouldn't mind,' said Alice: `three inches is such a wretched +height to be.' + + `It is a very good height indeed!' said the Caterpillar +angrily, rearing itself upright as it spoke (it was exactly three +inches high). + + `But I'm not used to it!' pleaded poor Alice in a piteous tone. +And she thought of herself, `I wish the creatures wouldn't be so +easily offended!' + + `You'll get used to it in time,' said the Caterpillar; and it +put the hookah into its mouth and began smoking again. + + This time Alice waited patiently until it chose to speak again. +In a minute or two the Caterpillar took the hookah out of its +mouth and yawned once or twice, and shook itself. Then it got +down off the mushroom, and crawled away in the grass, merely +remarking as it went, `One side will make you grow taller, and +the other side will make you grow shorter.' + + `One side of WHAT? The other side of WHAT?' thought Alice to +herself. + + `Of the mushroom,' said the Caterpillar, just as if she had +asked it aloud; and in another moment it was out of sight. + + Alice remained looking thoughtfully at the mushroom for a +minute, trying to make out which were the two sides of it; and as +it was perfectly round, she found this a very difficult question. +However, at last she stretched her arms round it as far as they +would go, and broke off a bit of the edge with each hand. + + `And now which is which?' she said to herself, and nibbled a +little of the right-hand bit to try the effect: the next moment +she felt a violent blow underneath her chin: it had struck her +foot! + + She was a good deal frightened by this very sudden change, but +she felt that there was no time to be lost, as she was shrinking +rapidly; so she set to work at once to eat some of the other bit. +Her chin was pressed so closely against her foot, that there was +hardly room to open her mouth; but she did it at last, and +managed to swallow a morsel of the lefthand bit. + + + * * * * * * * + + * * * * * * + + * * * * * * * + + `Come, my head's free at last!' said Alice in a tone of +delight, which changed into alarm in another moment, when she +found that her shoulders were nowhere to be found: all she could +see, when she looked down, was an immense length of neck, which +seemed to rise like a stalk out of a sea of green leaves that lay +far below her. + + `What CAN all that green stuff be?' said Alice. `And where +HAVE my shoulders got to? And oh, my poor hands, how is it I +can't see you?' She was moving them about as she spoke, but no +result seemed to follow, except a little shaking among the +distant green leaves. + + As there seemed to be no chance of getting her hands up to her +head, she tried to get her head down to them, and was delighted +to find that her neck would bend about easily in any direction, +like a serpent. She had just succeeded in curving it down into a +graceful zigzag, and was going to dive in among the leaves, which +she found to be nothing but the tops of the trees under which she +had been wandering, when a sharp hiss made her draw back in a +hurry: a large pigeon had flown into her face, and was beating +her violently with its wings. + + `Serpent!' screamed the Pigeon. + + `I'm NOT a serpent!' said Alice indignantly. `Let me alone!' + + `Serpent, I say again!' repeated the Pigeon, but in a more +subdued tone, and added with a kind of sob, `I've tried every +way, and nothing seems to suit them!' + + `I haven't the least idea what you're talking about,' said +Alice. + + `I've tried the roots of trees, and I've tried banks, and I've +tried hedges,' the Pigeon went on, without attending to her; `but +those serpents! There's no pleasing them!' + + Alice was more and more puzzled, but she thought there was no +use in saying anything more till the Pigeon had finished. + + `As if it wasn't trouble enough hatching the eggs,' said the +Pigeon; `but I must be on the look-out for serpents night and +day! Why, I haven't had a wink of sleep these three weeks!' + + `I'm very sorry you've been annoyed,' said Alice, who was +beginning to see its meaning. + + `And just as I'd taken the highest tree in the wood,' continued +the Pigeon, raising its voice to a shriek, `and just as I was +thinking I should be free of them at last, they must needs come +wriggling down from the sky! Ugh, Serpent!' + + `But I'm NOT a serpent, I tell you!' said Alice. `I'm a--I'm +a--' + + `Well! WHAT are you?' said the Pigeon. `I can see you're +trying to invent something!' + + `I--I'm a little girl,' said Alice, rather doubtfully, as she +remembered the number of changes she had gone through that day. + + `A likely story indeed!' said the Pigeon in a tone of the +deepest contempt. `I've seen a good many little girls in my +time, but never ONE with such a neck as that! No, no! You're a +serpent; and there's no use denying it. I suppose you'll be +telling me next that you never tasted an egg!' + + `I HAVE tasted eggs, certainly,' said Alice, who was a very +truthful child; `but little girls eat eggs quite as much as +serpents do, you know.' + + `I don't believe it,' said the Pigeon; `but if they do, why +then they're a kind of serpent, that's all I can say.' + + This was such a new idea to Alice, that she was quite silent +for a minute or two, which gave the Pigeon the opportunity of +adding, `You're looking for eggs, I know THAT well enough; and +what does it matter to me whether you're a little girl or a +serpent?' + + `It matters a good deal to ME,' said Alice hastily; `but I'm +not looking for eggs, as it happens; and if I was, I shouldn't +want YOURS: I don't like them raw.' + + `Well, be off, then!' said the Pigeon in a sulky tone, as it +settled down again into its nest. Alice crouched down among the +trees as well as she could, for her neck kept getting entangled +among the branches, and every now and then she had to stop and +untwist it. After a while she remembered that she still held the +pieces of mushroom in her hands, and she set to work very +carefully, nibbling first at one and then at the other, and +growing sometimes taller and sometimes shorter, until she had +succeeded in bringing herself down to her usual height. + + It was so long since she had been anything near the right size, +that it felt quite strange at first; but she got used to it in a +few minutes, and began talking to herself, as usual. `Come, +there's half my plan done now! How puzzling all these changes +are! I'm never sure what I'm going to be, from one minute to +another! However, I've got back to my right size: the next +thing is, to get into that beautiful garden--how IS that to be +done, I wonder?' As she said this, she came suddenly upon an +open place, with a little house in it about four feet high. +`Whoever lives there,' thought Alice, `it'll never do to come +upon them THIS size: why, I should frighten them out of their +wits!' So she began nibbling at the righthand bit again, and did +not venture to go near the house till she had brought herself +down to nine inches high. + + + + CHAPTER VI + + Pig and Pepper + + + For a minute or two she stood looking at the house, and +wondering what to do next, when suddenly a footman in livery came +running out of the wood--(she considered him to be a footman +because he was in livery: otherwise, judging by his face only, +she would have called him a fish)--and rapped loudly at the door +with his knuckles. It was opened by another footman in livery, +with a round face, and large eyes like a frog; and both footmen, +Alice noticed, had powdered hair that curled all over their +heads. She felt very curious to know what it was all about, and +crept a little way out of the wood to listen. + + The Fish-Footman began by producing from under his arm a great +letter, nearly as large as himself, and this he handed over to +the other, saying, in a solemn tone, `For the Duchess. An +invitation from the Queen to play croquet.' The Frog-Footman +repeated, in the same solemn tone, only changing the order of the +words a little, `From the Queen. An invitation for the Duchess +to play croquet.' + + Then they both bowed low, and their curls got entangled +together. + + Alice laughed so much at this, that she had to run back into +the wood for fear of their hearing her; and when she next peeped +out the Fish-Footman was gone, and the other was sitting on the +ground near the door, staring stupidly up into the sky. + + Alice went timidly up to the door, and knocked. + + `There's no sort of use in knocking,' said the Footman, `and +that for two reasons. First, because I'm on the same side of the +door as you are; secondly, because they're making such a noise +inside, no one could possibly hear you.' And certainly there was +a most extraordinary noise going on within--a constant howling +and sneezing, and every now and then a great crash, as if a dish +or kettle had been broken to pieces. + + `Please, then,' said Alice, `how am I to get in?' + + `There might be some sense in your knocking,' the Footman went +on without attending to her, `if we had the door between us. For +instance, if you were INSIDE, you might knock, and I could let +you out, you know.' He was looking up into the sky all the time +he was speaking, and this Alice thought decidedly uncivil. `But +perhaps he can't help it,' she said to herself; `his eyes are so +VERY nearly at the top of his head. But at any rate he might +answer questions.--How am I to get in?' she repeated, aloud. + + `I shall sit here,' the Footman remarked, `till tomorrow--' + + At this moment the door of the house opened, and a large plate +came skimming out, straight at the Footman's head: it just +grazed his nose, and broke to pieces against one of the trees +behind him. + + `--or next day, maybe,' the Footman continued in the same tone, +exactly as if nothing had happened. + + `How am I to get in?' asked Alice again, in a louder tone. + + `ARE you to get in at all?' said the Footman. `That's the +first question, you know.' + + It was, no doubt: only Alice did not like to be told so. +`It's really dreadful,' she muttered to herself, `the way all the +creatures argue. It's enough to drive one crazy!' + + The Footman seemed to think this a good opportunity for +repeating his remark, with variations. `I shall sit here,' he +said, `on and off, for days and days.' + + `But what am I to do?' said Alice. + + `Anything you like,' said the Footman, and began whistling. + + `Oh, there's no use in talking to him,' said Alice desperately: +`he's perfectly idiotic!' And she opened the door and went in. + + The door led right into a large kitchen, which was full of +smoke from one end to the other: the Duchess was sitting on a +three-legged stool in the middle, nursing a baby; the cook was +leaning over the fire, stirring a large cauldron which seemed to +be full of soup. + + `There's certainly too much pepper in that soup!' Alice said to +herself, as well as she could for sneezing. + + There was certainly too much of it in the air. Even the +Duchess sneezed occasionally; and as for the baby, it was +sneezing and howling alternately without a moment's pause. The +only things in the kitchen that did not sneeze, were the cook, +and a large cat which was sitting on the hearth and grinning from +ear to ear. + + `Please would you tell me,' said Alice, a little timidly, for +she was not quite sure whether it was good manners for her to +speak first, `why your cat grins like that?' + + `It's a Cheshire cat,' said the Duchess, `and that's why. +Pig!' + + She said the last word with such sudden violence that Alice +quite jumped; but she saw in another moment that it was addressed +to the baby, and not to her, so she took courage, and went on +again:-- + + `I didn't know that Cheshire cats always grinned; in fact, I +didn't know that cats COULD grin.' + + `They all can,' said the Duchess; `and most of 'em do.' + + `I don't know of any that do,' Alice said very politely, +feeling quite pleased to have got into a conversation. + + `You don't know much,' said the Duchess; `and that's a fact.' + + Alice did not at all like the tone of this remark, and thought +it would be as well to introduce some other subject of +conversation. While she was trying to fix on one, the cook took +the cauldron of soup off the fire, and at once set to work +throwing everything within her reach at the Duchess and the baby +--the fire-irons came first; then followed a shower of saucepans, +plates, and dishes. The Duchess took no notice of them even when +they hit her; and the baby was howling so much already, that it +was quite impossible to say whether the blows hurt it or not. + + `Oh, PLEASE mind what you're doing!' cried Alice, jumping up +and down in an agony of terror. `Oh, there goes his PRECIOUS +nose'; as an unusually large saucepan flew close by it, and very +nearly carried it off. + + `If everybody minded their own business,' the Duchess said in a +hoarse growl, `the world would go round a deal faster than it +does.' + + `Which would NOT be an advantage,' said Alice, who felt very +glad to get an opportunity of showing off a little of her +knowledge. `Just think of what work it would make with the day +and night! You see the earth takes twenty-four hours to turn +round on its axis--' + + `Talking of axes,' said the Duchess, `chop off her head!' + + Alice glanced rather anxiously at the cook, to see if she meant +to take the hint; but the cook was busily stirring the soup, and +seemed not to be listening, so she went on again: `Twenty-four +hours, I THINK; or is it twelve? I--' + + `Oh, don't bother ME,' said the Duchess; `I never could abide +figures!' And with that she began nursing her child again, +singing a sort of lullaby to it as she did so, and giving it a +violent shake at the end of every line: + + `Speak roughly to your little boy, + And beat him when he sneezes: + He only does it to annoy, + Because he knows it teases.' + + CHORUS. + + (In which the cook and the baby joined):-- + + `Wow! wow! wow!' + + While the Duchess sang the second verse of the song, she kept +tossing the baby violently up and down, and the poor little thing +howled so, that Alice could hardly hear the words:-- + + `I speak severely to my boy, + I beat him when he sneezes; + For he can thoroughly enjoy + The pepper when he pleases!' + + CHORUS. + + `Wow! wow! wow!' + + `Here! you may nurse it a bit, if you like!' the Duchess said +to Alice, flinging the baby at her as she spoke. `I must go and +get ready to play croquet with the Queen,' and she hurried out of +the room. The cook threw a frying-pan after her as she went out, +but it just missed her. + + Alice caught the baby with some difficulty, as it was a queer- +shaped little creature, and held out its arms and legs in all +directions, `just like a star-fish,' thought Alice. The poor +little thing was snorting like a steam-engine when she caught it, +and kept doubling itself up and straightening itself out again, +so that altogether, for the first minute or two, it was as much +as she could do to hold it. + + As soon as she had made out the proper way of nursing it, +(which was to twist it up into a sort of knot, and then keep +tight hold of its right ear and left foot, so as to prevent its +undoing itself,) she carried it out into the open air. `IF I +don't take this child away with me,' thought Alice, `they're sure +to kill it in a day or two: wouldn't it be murder to leave it +behind?' She said the last words out loud, and the little thing +grunted in reply (it had left off sneezing by this time). `Don't +grunt,' said Alice; `that's not at all a proper way of expressing +yourself.' + + The baby grunted again, and Alice looked very anxiously into +its face to see what was the matter with it. There could be no +doubt that it had a VERY turn-up nose, much more like a snout +than a real nose; also its eyes were getting extremely small for +a baby: altogether Alice did not like the look of the thing at +all. `But perhaps it was only sobbing,' she thought, and looked +into its eyes again, to see if there were any tears. + + No, there were no tears. `If you're going to turn into a pig, +my dear,' said Alice, seriously, `I'll have nothing more to do +with you. Mind now!' The poor little thing sobbed again (or +grunted, it was impossible to say which), and they went on for +some while in silence. + + Alice was just beginning to think to herself, `Now, what am I +to do with this creature when I get it home?' when it grunted +again, so violently, that she looked down into its face in some +alarm. This time there could be NO mistake about it: it was +neither more nor less than a pig, and she felt that it would be +quite absurd for her to carry it further. + + So she set the little creature down, and felt quite relieved to +see it trot away quietly into the wood. `If it had grown up,' +she said to herself, `it would have made a dreadfully ugly child: +but it makes rather a handsome pig, I think.' And she began +thinking over other children she knew, who might do very well as +pigs, and was just saying to herself, `if one only knew the right +way to change them--' when she was a little startled by seeing +the Cheshire Cat sitting on a bough of a tree a few yards off. + + The Cat only grinned when it saw Alice. It looked good- +natured, she thought: still it had VERY long claws and a great +many teeth, so she felt that it ought to be treated with respect. + + `Cheshire Puss,' she began, rather timidly, as she did not at +all know whether it would like the name: however, it only +grinned a little wider. `Come, it's pleased so far,' thought +Alice, and she went on. `Would you tell me, please, which way I +ought to go from here?' + + `That depends a good deal on where you want to get to,' said +the Cat. + + `I don't much care where--' said Alice. + + `Then it doesn't matter which way you go,' said the Cat. + + `--so long as I get SOMEWHERE,' Alice added as an explanation. + + `Oh, you're sure to do that,' said the Cat, `if you only walk +long enough.' + + Alice felt that this could not be denied, so she tried another +question. `What sort of people live about here?' + + `In THAT direction,' the Cat said, waving its right paw round, +`lives a Hatter: and in THAT direction,' waving the other paw, +`lives a March Hare. Visit either you like: they're both mad.' + + `But I don't want to go among mad people,' Alice remarked. + + `Oh, you can't help that,' said the Cat: `we're all mad here. +I'm mad. You're mad.' + + `How do you know I'm mad?' said Alice. + + `You must be,' said the Cat, `or you wouldn't have come here.' + + Alice didn't think that proved it at all; however, she went on +`And how do you know that you're mad?' + + `To begin with,' said the Cat, `a dog's not mad. You grant +that?' + + `I suppose so,' said Alice. + + `Well, then,' the Cat went on, `you see, a dog growls when it's +angry, and wags its tail when it's pleased. Now I growl when I'm +pleased, and wag my tail when I'm angry. Therefore I'm mad.' + + `I call it purring, not growling,' said Alice. + + `Call it what you like,' said the Cat. `Do you play croquet +with the Queen to-day?' + + `I should like it very much,' said Alice, `but I haven't been +invited yet.' + + `You'll see me there,' said the Cat, and vanished. + + Alice was not much surprised at this, she was getting so used +to queer things happening. While she was looking at the place +where it had been, it suddenly appeared again. + + `By-the-bye, what became of the baby?' said the Cat. `I'd +nearly forgotten to ask.' + + `It turned into a pig,' Alice quietly said, just as if it had +come back in a natural way. + + `I thought it would,' said the Cat, and vanished again. + + Alice waited a little, half expecting to see it again, but it +did not appear, and after a minute or two she walked on in the +direction in which the March Hare was said to live. `I've seen +hatters before,' she said to herself; `the March Hare will be +much the most interesting, and perhaps as this is May it won't be +raving mad--at least not so mad as it was in March.' As she said +this, she looked up, and there was the Cat again, sitting on a +branch of a tree. + + `Did you say pig, or fig?' said the Cat. + + `I said pig,' replied Alice; `and I wish you wouldn't keep +appearing and vanishing so suddenly: you make one quite giddy.' + + `All right,' said the Cat; and this time it vanished quite +slowly, beginning with the end of the tail, and ending with the +grin, which remained some time after the rest of it had gone. + + `Well! I've often seen a cat without a grin,' thought Alice; +`but a grin without a cat! It's the most curious thing I ever +say in my life!' + + She had not gone much farther before she came in sight of the +house of the March Hare: she thought it must be the right house, +because the chimneys were shaped like ears and the roof was +thatched with fur. It was so large a house, that she did not +like to go nearer till she had nibbled some more of the lefthand +bit of mushroom, and raised herself to about two feet high: even +then she walked up towards it rather timidly, saying to herself +`Suppose it should be raving mad after all! I almost wish I'd +gone to see the Hatter instead!' + + + + CHAPTER VII + + A Mad Tea-Party + + + There was a table set out under a tree in front of the house, +and the March Hare and the Hatter were having tea at it: a +Dormouse was sitting between them, fast asleep, and the other two +were using it as a cushion, resting their elbows on it, and the +talking over its head. `Very uncomfortable for the Dormouse,' +thought Alice; `only, as it's asleep, I suppose it doesn't mind.' + + The table was a large one, but the three were all crowded +together at one corner of it: `No room! No room!' they cried +out when they saw Alice coming. `There's PLENTY of room!' said +Alice indignantly, and she sat down in a large arm-chair at one +end of the table. + + `Have some wine,' the March Hare said in an encouraging tone. + + Alice looked all round the table, but there was nothing on it +but tea. `I don't see any wine,' she remarked. + + `There isn't any,' said the March Hare. + + `Then it wasn't very civil of you to offer it,' said Alice +angrily. + + `It wasn't very civil of you to sit down without being +invited,' said the March Hare. + + `I didn't know it was YOUR table,' said Alice; `it's laid for a +great many more than three.' + + `Your hair wants cutting,' said the Hatter. He had been +looking at Alice for some time with great curiosity, and this was +his first speech. + + `You should learn not to make personal remarks,' Alice said +with some severity; `it's very rude.' + + The Hatter opened his eyes very wide on hearing this; but all +he SAID was, `Why is a raven like a writing-desk?' + + `Come, we shall have some fun now!' thought Alice. `I'm glad +they've begun asking riddles.--I believe I can guess that,' she +added aloud. + + `Do you mean that you think you can find out the answer to it?' +said the March Hare. + + `Exactly so,' said Alice. + + `Then you should say what you mean,' the March Hare went on. + + `I do,' Alice hastily replied; `at least--at least I mean what +I say--that's the same thing, you know.' + + `Not the same thing a bit!' said the Hatter. `You might just +as well say that "I see what I eat" is the same thing as "I eat +what I see"!' + + `You might just as well say,' added the March Hare, `that "I +like what I get" is the same thing as "I get what I like"!' + + `You might just as well say,' added the Dormouse, who seemed to +be talking in his sleep, `that "I breathe when I sleep" is the +same thing as "I sleep when I breathe"!' + + `It IS the same thing with you,' said the Hatter, and here the +conversation dropped, and the party sat silent for a minute, +while Alice thought over all she could remember about ravens and +writing-desks, which wasn't much. + + The Hatter was the first to break the silence. `What day of +the month is it?' he said, turning to Alice: he had taken his +watch out of his pocket, and was looking at it uneasily, shaking +it every now and then, and holding it to his ear. + + Alice considered a little, and then said `The fourth.' + + `Two days wrong!' sighed the Hatter. `I told you butter +wouldn't suit the works!' he added looking angrily at the March +Hare. + + `It was the BEST butter,' the March Hare meekly replied. + + `Yes, but some crumbs must have got in as well,' the Hatter +grumbled: `you shouldn't have put it in with the bread-knife.' + + The March Hare took the watch and looked at it gloomily: then +he dipped it into his cup of tea, and looked at it again: but he +could think of nothing better to say than his first remark, `It +was the BEST butter, you know.' + + Alice had been looking over his shoulder with some curiosity. +`What a funny watch!' she remarked. `It tells the day of the +month, and doesn't tell what o'clock it is!' + + `Why should it?' muttered the Hatter. `Does YOUR watch tell +you what year it is?' + + `Of course not,' Alice replied very readily: `but that's +because it stays the same year for such a long time together.' + + `Which is just the case with MINE,' said the Hatter. + + Alice felt dreadfully puzzled. The Hatter's remark seemed to +have no sort of meaning in it, and yet it was certainly English. +`I don't quite understand you,' she said, as politely as she +could. + + `The Dormouse is asleep again,' said the Hatter, and he poured +a little hot tea upon its nose. + + The Dormouse shook its head impatiently, and said, without +opening its eyes, `Of course, of course; just what I was going to +remark myself.' + + `Have you guessed the riddle yet?' the Hatter said, turning to +Alice again. + + `No, I give it up,' Alice replied: `what's the answer?' + + `I haven't the slightest idea,' said the Hatter. + + `Nor I,' said the March Hare. + + Alice sighed wearily. `I think you might do something better +with the time,' she said, `than waste it in asking riddles that +have no answers.' + + `If you knew Time as well as I do,' said the Hatter, `you +wouldn't talk about wasting IT. It's HIM.' + + `I don't know what you mean,' said Alice. + + `Of course you don't!' the Hatter said, tossing his head +contemptuously. `I dare say you never even spoke to Time!' + + `Perhaps not,' Alice cautiously replied: `but I know I have to +beat time when I learn music.' + + `Ah! that accounts for it,' said the Hatter. `He won't stand +beating. Now, if you only kept on good terms with him, he'd do +almost anything you liked with the clock. For instance, suppose +it were nine o'clock in the morning, just time to begin lessons: +you'd only have to whisper a hint to Time, and round goes the +clock in a twinkling! Half-past one, time for dinner!' + + (`I only wish it was,' the March Hare said to itself in a +whisper.) + + `That would be grand, certainly,' said Alice thoughtfully: +`but then--I shouldn't be hungry for it, you know.' + + `Not at first, perhaps,' said the Hatter: `but you could keep +it to half-past one as long as you liked.' + + `Is that the way YOU manage?' Alice asked. + + The Hatter shook his head mournfully. `Not I!' he replied. +`We quarrelled last March--just before HE went mad, you know--' +(pointing with his tea spoon at the March Hare,) `--it was at the +great concert given by the Queen of Hearts, and I had to sing + + "Twinkle, twinkle, little bat! + How I wonder what you're at!" + +You know the song, perhaps?' + + `I've heard something like it,' said Alice. + + `It goes on, you know,' the Hatter continued, `in this way:-- + + "Up above the world you fly, + Like a tea-tray in the sky. + Twinkle, twinkle--"' + +Here the Dormouse shook itself, and began singing in its sleep +`Twinkle, twinkle, twinkle, twinkle--' and went on so long that +they had to pinch it to make it stop. + + `Well, I'd hardly finished the first verse,' said the Hatter, +`when the Queen jumped up and bawled out, "He's murdering the +time! Off with his head!"' + + `How dreadfully savage!' exclaimed Alice. + + `And ever since that,' the Hatter went on in a mournful tone, +`he won't do a thing I ask! It's always six o'clock now.' + + A bright idea came into Alice's head. `Is that the reason so +many tea-things are put out here?' she asked. + + `Yes, that's it,' said the Hatter with a sigh: `it's always +tea-time, and we've no time to wash the things between whiles.' + + `Then you keep moving round, I suppose?' said Alice. + + `Exactly so,' said the Hatter: `as the things get used up.' + + `But what happens when you come to the beginning again?' Alice +ventured to ask. + + `Suppose we change the subject,' the March Hare interrupted, +yawning. `I'm getting tired of this. I vote the young lady +tells us a story.' + + `I'm afraid I don't know one,' said Alice, rather alarmed at +the proposal. + + `Then the Dormouse shall!' they both cried. `Wake up, +Dormouse!' And they pinched it on both sides at once. + + The Dormouse slowly opened his eyes. `I wasn't asleep,' he +said in a hoarse, feeble voice: `I heard every word you fellows +were saying.' + + `Tell us a story!' said the March Hare. + + `Yes, please do!' pleaded Alice. + + `And be quick about it,' added the Hatter, `or you'll be asleep +again before it's done.' + + `Once upon a time there were three little sisters,' the +Dormouse began in a great hurry; `and their names were Elsie, +Lacie, and Tillie; and they lived at the bottom of a well--' + + `What did they live on?' said Alice, who always took a great +interest in questions of eating and drinking. + + `They lived on treacle,' said the Dormouse, after thinking a +minute or two. + + `They couldn't have done that, you know,' Alice gently +remarked; `they'd have been ill.' + + `So they were,' said the Dormouse; `VERY ill.' + + Alice tried to fancy to herself what such an extraordinary ways +of living would be like, but it puzzled her too much, so she went +on: `But why did they live at the bottom of a well?' + + `Take some more tea,' the March Hare said to Alice, very +earnestly. + + `I've had nothing yet,' Alice replied in an offended tone, `so +I can't take more.' + + `You mean you can't take LESS,' said the Hatter: `it's very +easy to take MORE than nothing.' + + `Nobody asked YOUR opinion,' said Alice. + + `Who's making personal remarks now?' the Hatter asked +triumphantly. + + Alice did not quite know what to say to this: so she helped +herself to some tea and bread-and-butter, and then turned to the +Dormouse, and repeated her question. `Why did they live at the +bottom of a well?' + + The Dormouse again took a minute or two to think about it, and +then said, `It was a treacle-well.' + + `There's no such thing!' Alice was beginning very angrily, but +the Hatter and the March Hare went `Sh! sh!' and the Dormouse +sulkily remarked, `If you can't be civil, you'd better finish the +story for yourself.' + + `No, please go on!' Alice said very humbly; `I won't interrupt +again. I dare say there may be ONE.' + + `One, indeed!' said the Dormouse indignantly. However, he +consented to go on. `And so these three little sisters--they +were learning to draw, you know--' + + `What did they draw?' said Alice, quite forgetting her promise. + + `Treacle,' said the Dormouse, without considering at all this +time. + + `I want a clean cup,' interrupted the Hatter: `let's all move +one place on.' + + He moved on as he spoke, and the Dormouse followed him: the +March Hare moved into the Dormouse's place, and Alice rather +unwillingly took the place of the March Hare. The Hatter was the +only one who got any advantage from the change: and Alice was a +good deal worse off than before, as the March Hare had just upset +the milk-jug into his plate. + + Alice did not wish to offend the Dormouse again, so she began +very cautiously: `But I don't understand. Where did they draw +the treacle from?' + + `You can draw water out of a water-well,' said the Hatter; `so +I should think you could draw treacle out of a treacle-well--eh, +stupid?' + + `But they were IN the well,' Alice said to the Dormouse, not +choosing to notice this last remark. + + `Of course they were', said the Dormouse; `--well in.' + + This answer so confused poor Alice, that she let the Dormouse +go on for some time without interrupting it. + + `They were learning to draw,' the Dormouse went on, yawning and +rubbing its eyes, for it was getting very sleepy; `and they drew +all manner of things--everything that begins with an M--' + + `Why with an M?' said Alice. + + `Why not?' said the March Hare. + + Alice was silent. + + The Dormouse had closed its eyes by this time, and was going +off into a doze; but, on being pinched by the Hatter, it woke up +again with a little shriek, and went on: `--that begins with an +M, such as mouse-traps, and the moon, and memory, and muchness-- +you know you say things are "much of a muchness"--did you ever +see such a thing as a drawing of a muchness?' + + `Really, now you ask me,' said Alice, very much confused, `I +don't think--' + + `Then you shouldn't talk,' said the Hatter. + + This piece of rudeness was more than Alice could bear: she got +up in great disgust, and walked off; the Dormouse fell asleep +instantly, and neither of the others took the least notice of her +going, though she looked back once or twice, half hoping that +they would call after her: the last time she saw them, they were +trying to put the Dormouse into the teapot. + + `At any rate I'll never go THERE again!' said Alice as she +picked her way through the wood. `It's the stupidest tea-party I +ever was at in all my life!' + + Just as she said this, she noticed that one of the trees had a +door leading right into it. `That's very curious!' she thought. +`But everything's curious today. I think I may as well go in at +once.' And in she went. + + Once more she found herself in the long hall, and close to the +little glass table. `Now, I'll manage better this time,' she +said to herself, and began by taking the little golden key, and +unlocking the door that led into the garden. Then she went to +work nibbling at the mushroom (she had kept a piece of it in her +pocked) till she was about a foot high: then she walked down the +little passage: and THEN--she found herself at last in the +beautiful garden, among the bright flower-beds and the cool +fountains. + + + + CHAPTER VIII + + The Queen's Croquet-Ground + + + A large rose-tree stood near the entrance of the garden: the +roses growing on it were white, but there were three gardeners at +it, busily painting them red. Alice thought this a very curious +thing, and she went nearer to watch them, and just as she came up +to them she heard one of them say, `Look out now, Five! Don't go +splashing paint over me like that!' + + `I couldn't help it,' said Five, in a sulky tone; `Seven jogged +my elbow.' + + On which Seven looked up and said, `That's right, Five! Always +lay the blame on others!' + + `YOU'D better not talk!' said Five. `I heard the Queen say only +yesterday you deserved to be beheaded!' + + `What for?' said the one who had spoken first. + + `That's none of YOUR business, Two!' said Seven. + + `Yes, it IS his business!' said Five, `and I'll tell him--it +was for bringing the cook tulip-roots instead of onions.' + + Seven flung down his brush, and had just begun `Well, of all +the unjust things--' when his eye chanced to fall upon Alice, as +she stood watching them, and he checked himself suddenly: the +others looked round also, and all of them bowed low. + + `Would you tell me,' said Alice, a little timidly, `why you are +painting those roses?' + + Five and Seven said nothing, but looked at Two. Two began in a +low voice, `Why the fact is, you see, Miss, this here ought to +have been a RED rose-tree, and we put a white one in by mistake; +and if the Queen was to find it out, we should all have our heads +cut off, you know. So you see, Miss, we're doing our best, afore +she comes, to--' At this moment Five, who had been anxiously +looking across the garden, called out `The Queen! The Queen!' +and the three gardeners instantly threw themselves flat upon +their faces. There was a sound of many footsteps, and Alice +looked round, eager to see the Queen. + + First came ten soldiers carrying clubs; these were all shaped +like the three gardeners, oblong and flat, with their hands and +feet at the corners: next the ten courtiers; these were +ornamented all over with diamonds, and walked two and two, as the +soldiers did. After these came the royal children; there were +ten of them, and the little dears came jumping merrily along hand +in hand, in couples: they were all ornamented with hearts. Next +came the guests, mostly Kings and Queens, and among them Alice +recognised the White Rabbit: it was talking in a hurried nervous +manner, smiling at everything that was said, and went by without +noticing her. Then followed the Knave of Hearts, carrying the +King's crown on a crimson velvet cushion; and, last of all this +grand procession, came THE KING AND QUEEN OF HEARTS. + + Alice was rather doubtful whether she ought not to lie down on +her face like the three gardeners, but she could not remember +every having heard of such a rule at processions; `and besides, +what would be the use of a procession,' thought she, `if people +had all to lie down upon their faces, so that they couldn't see +it?' So she stood still where she was, and waited. + + When the procession came opposite to Alice, they all stopped +and looked at her, and the Queen said severely `Who is this?' +She said it to the Knave of Hearts, who only bowed and smiled in +reply. + + `Idiot!' said the Queen, tossing her head impatiently; and, +turning to Alice, she went on, `What's your name, child?' + + `My name is Alice, so please your Majesty,' said Alice very +politely; but she added, to herself, `Why, they're only a pack of +cards, after all. I needn't be afraid of them!' + + `And who are THESE?' said the Queen, pointing to the three +gardeners who were lying round the rosetree; for, you see, as +they were lying on their faces, and the pattern on their backs +was the same as the rest of the pack, she could not tell whether +they were gardeners, or soldiers, or courtiers, or three of her +own children. + + `How should I know?' said Alice, surprised at her own courage. +`It's no business of MINE.' + + The Queen turned crimson with fury, and, after glaring at her +for a moment like a wild beast, screamed `Off with her head! +Off--' + + `Nonsense!' said Alice, very loudly and decidedly, and the +Queen was silent. + + The King laid his hand upon her arm, and timidly said +`Consider, my dear: she is only a child!' + + The Queen turned angrily away from him, and said to the Knave +`Turn them over!' + + The Knave did so, very carefully, with one foot. + + `Get up!' said the Queen, in a shrill, loud voice, and the +three gardeners instantly jumped up, and began bowing to the +King, the Queen, the royal children, and everybody else. + + `Leave off that!' screamed the Queen. `You make me giddy.' +And then, turning to the rose-tree, she went on, `What HAVE you +been doing here?' + + `May it please your Majesty,' said Two, in a very humble tone, +going down on one knee as he spoke, `we were trying--' + + `I see!' said the Queen, who had meanwhile been examining the +roses. `Off with their heads!' and the procession moved on, +three of the soldiers remaining behind to execute the unfortunate +gardeners, who ran to Alice for protection. + + `You shan't be beheaded!' said Alice, and she put them into a +large flower-pot that stood near. The three soldiers wandered +about for a minute or two, looking for them, and then quietly +marched off after the others. + + `Are their heads off?' shouted the Queen. + + `Their heads are gone, if it please your Majesty!' the soldiers +shouted in reply. + + `That's right!' shouted the Queen. `Can you play croquet?' + + The soldiers were silent, and looked at Alice, as the question +was evidently meant for her. + + `Yes!' shouted Alice. + + `Come on, then!' roared the Queen, and Alice joined the +procession, wondering very much what would happen next. + + `It's--it's a very fine day!' said a timid voice at her side. +She was walking by the White Rabbit, who was peeping anxiously +into her face. + + `Very,' said Alice: `--where's the Duchess?' + + `Hush! Hush!' said the Rabbit in a low, hurried tone. He +looked anxiously over his shoulder as he spoke, and then raised +himself upon tiptoe, put his mouth close to her ear, and +whispered `She's under sentence of execution.' + + `What for?' said Alice. + + `Did you say "What a pity!"?' the Rabbit asked. + + `No, I didn't,' said Alice: `I don't think it's at all a pity. +I said "What for?"' + + `She boxed the Queen's ears--' the Rabbit began. Alice gave a +little scream of laughter. `Oh, hush!' the Rabbit whispered in a +frightened tone. `The Queen will hear you! You see, she came +rather late, and the Queen said--' + + `Get to your places!' shouted the Queen in a voice of thunder, +and people began running about in all directions, tumbling up +against each other; however, they got settled down in a minute or +two, and the game began. Alice thought she had never seen such a +curious croquet-ground in her life; it was all ridges and +furrows; the balls were live hedgehogs, the mallets live +flamingoes, and the soldiers had to double themselves up and to +stand on their hands and feet, to make the arches. + + The chief difficulty Alice found at first was in managing her +flamingo: she succeeded in getting its body tucked away, +comfortably enough, under her arm, with its legs hanging down, +but generally, just as she had got its neck nicely straightened +out, and was going to give the hedgehog a blow with its head, it +WOULD twist itself round and look up in her face, with such a +puzzled expression that she could not help bursting out laughing: +and when she had got its head down, and was going to begin again, +it was very provoking to find that the hedgehog had unrolled +itself, and was in the act of crawling away: besides all this, +there was generally a ridge or furrow in the way wherever she +wanted to send the hedgehog to, and, as the doubled-up soldiers +were always getting up and walking off to other parts of the +ground, Alice soon came to the conclusion that it was a very +difficult game indeed. + + The players all played at once without waiting for turns, +quarrelling all the while, and fighting for the hedgehogs; and in +a very short time the Queen was in a furious passion, and went +stamping about, and shouting `Off with his head!' or `Off with +her head!' about once in a minute. + + Alice began to feel very uneasy: to be sure, she had not as +yet had any dispute with the Queen, but she knew that it might +happen any minute, `and then,' thought she, `what would become of +me? They're dreadfully fond of beheading people here; the great +wonder is, that there's any one left alive!' + + She was looking about for some way of escape, and wondering +whether she could get away without being seen, when she noticed a +curious appearance in the air: it puzzled her very much at +first, but, after watching it a minute or two, she made it out to +be a grin, and she said to herself `It's the Cheshire Cat: now I +shall have somebody to talk to.' + + `How are you getting on?' said the Cat, as soon as there was +mouth enough for it to speak with. + + Alice waited till the eyes appeared, and then nodded. `It's no +use speaking to it,' she thought, `till its ears have come, or at +least one of them.' In another minute the whole head appeared, +and then Alice put down her flamingo, and began an account of the +game, feeling very glad she had someone to listen to her. The +Cat seemed to think that there was enough of it now in sight, and +no more of it appeared. + + `I don't think they play at all fairly,' Alice began, in rather +a complaining tone, `and they all quarrel so dreadfully one can't +hear oneself speak--and they don't seem to have any rules in +particular; at least, if there are, nobody attends to them--and +you've no idea how confusing it is all the things being alive; +for instance, there's the arch I've got to go through next +walking about at the other end of the ground--and I should have +croqueted the Queen's hedgehog just now, only it ran away when it +saw mine coming!' + + `How do you like the Queen?' said the Cat in a low voice. + + `Not at all,' said Alice: `she's so extremely--' Just then +she noticed that the Queen was close behind her, listening: so +she went on, `--likely to win, that it's hardly worth while +finishing the game.' + + The Queen smiled and passed on. + + `Who ARE you talking to?' said the King, going up to Alice, and +looking at the Cat's head with great curiosity. + + `It's a friend of mine--a Cheshire Cat,' said Alice: `allow me +to introduce it.' + + `I don't like the look of it at all,' said the King: `however, +it may kiss my hand if it likes.' + + `I'd rather not,' the Cat remarked. + + `Don't be impertinent,' said the King, `and don't look at me +like that!' He got behind Alice as he spoke. + + `A cat may look at a king,' said Alice. `I've read that in +some book, but I don't remember where.' + + `Well, it must be removed,' said the King very decidedly, and +he called the Queen, who was passing at the moment, `My dear! I +wish you would have this cat removed!' + + The Queen had only one way of settling all difficulties, great +or small. `Off with his head!' she said, without even looking +round. + + `I'll fetch the executioner myself,' said the King eagerly, and +he hurried off. + + Alice thought she might as well go back, and see how the game +was going on, as she heard the Queen's voice in the distance, +screaming with passion. She had already heard her sentence three +of the players to be executed for having missed their turns, and +she did not like the look of things at all, as the game was in +such confusion that she never knew whether it was her turn or +not. So she went in search of her hedgehog. + + The hedgehog was engaged in a fight with another hedgehog, +which seemed to Alice an excellent opportunity for croqueting one +of them with the other: the only difficulty was, that her +flamingo was gone across to the other side of the garden, where +Alice could see it trying in a helpless sort of way to fly up +into a tree. + + By the time she had caught the flamingo and brought it back, +the fight was over, and both the hedgehogs were out of sight: +`but it doesn't matter much,' thought Alice, `as all the arches +are gone from this side of the ground.' So she tucked it away +under her arm, that it might not escape again, and went back for +a little more conversation with her friend. + + When she got back to the Cheshire Cat, she was surprised to +find quite a large crowd collected round it: there was a dispute +going on between the executioner, the King, and the Queen, who +were all talking at once, while all the rest were quite silent, +and looked very uncomfortable. + + The moment Alice appeared, she was appealed to by all three to +settle the question, and they repeated their arguments to her, +though, as they all spoke at once, she found it very hard indeed +to make out exactly what they said. + + The executioner's argument was, that you couldn't cut off a +head unless there was a body to cut it off from: that he had +never had to do such a thing before, and he wasn't going to begin +at HIS time of life. + + The King's argument was, that anything that had a head could be +beheaded, and that you weren't to talk nonsense. + + The Queen's argument was, that if something wasn't done about +it in less than no time she'd have everybody executed, all round. +(It was this last remark that had made the whole party look so +grave and anxious.) + + Alice could think of nothing else to say but `It belongs to the +Duchess: you'd better ask HER about it.' + + `She's in prison,' the Queen said to the executioner: `fetch +her here.' And the executioner went off like an arrow. + + The Cat's head began fading away the moment he was gone, and, +by the time he had come back with the Dutchess, it had entirely +disappeared; so the King and the executioner ran wildly up and +down looking for it, while the rest of the party went back to the game. + + + + CHAPTER IX + + The Mock Turtle's Story + + + `You can't think how glad I am to see you again, you dear old +thing!' said the Duchess, as she tucked her arm affectionately +into Alice's, and they walked off together. + + Alice was very glad to find her in such a pleasant temper, and +thought to herself that perhaps it was only the pepper that had +made her so savage when they met in the kitchen. + + `When I'M a Duchess,' she said to herself, (not in a very +hopeful tone though), `I won't have any pepper in my kitchen AT +ALL. Soup does very well without--Maybe it's always pepper that +makes people hot-tempered,' she went on, very much pleased at +having found out a new kind of rule, `and vinegar that makes them +sour--and camomile that makes them bitter--and--and barley-sugar +and such things that make children sweet-tempered. I only wish +people knew that: then they wouldn't be so stingy about it, you +know--' + + She had quite forgotten the Duchess by this time, and was a +little startled when she heard her voice close to her ear. +`You're thinking about something, my dear, and that makes you +forget to talk. I can't tell you just now what the moral of that +is, but I shall remember it in a bit.' + + `Perhaps it hasn't one,' Alice ventured to remark. + + `Tut, tut, child!' said the Duchess. `Everything's got a +moral, if only you can find it.' And she squeezed herself up +closer to Alice's side as she spoke. + + Alice did not much like keeping so close to her: first, +because the Duchess was VERY ugly; and secondly, because she was +exactly the right height to rest her chin upon Alice's shoulder, +and it was an uncomfortably sharp chin. However, she did not +like to be rude, so she bore it as well as she could. + + `The game's going on rather better now,' she said, by way of +keeping up the conversation a little. + + `'Tis so,' said the Duchess: `and the moral of that is--"Oh, +'tis love, 'tis love, that makes the world go round!"' + + `Somebody said,' Alice whispered, `that it's done by everybody +minding their own business!' + + `Ah, well! It means much the same thing,' said the Duchess, +digging her sharp little chin into Alice's shoulder as she added, +`and the moral of THAT is--"Take care of the sense, and the +sounds will take care of themselves."' + + `How fond she is of finding morals in things!' Alice thought to +herself. + + `I dare say you're wondering why I don't put my arm round your +waist,' the Duchess said after a pause: `the reason is, that I'm +doubtful about the temper of your flamingo. Shall I try the +experiment?' + + `HE might bite,' Alice cautiously replied, not feeling at all +anxious to have the experiment tried. + + `Very true,' said the Duchess: `flamingoes and mustard both +bite. And the moral of that is--"Birds of a feather flock +together."' + + `Only mustard isn't a bird,' Alice remarked. + + `Right, as usual,' said the Duchess: `what a clear way you +have of putting things!' + + `It's a mineral, I THINK,' said Alice. + + `Of course it is,' said the Duchess, who seemed ready to agree +to everything that Alice said; `there's a large mustard-mine near +here. And the moral of that is--"The more there is of mine, the +less there is of yours."' + + `Oh, I know!' exclaimed Alice, who had not attended to this +last remark, `it's a vegetable. It doesn't look like one, but it +is.' + + `I quite agree with you,' said the Duchess; `and the moral of +that is--"Be what you would seem to be"--or if you'd like it put +more simply--"Never imagine yourself not to be otherwise than +what it might appear to others that what you were or might have +been was not otherwise than what you had been would have appeared +to them to be otherwise."' + + `I think I should understand that better,' Alice said very +politely, `if I had it written down: but I can't quite follow it +as you say it.' + + `That's nothing to what I could say if I chose,' the Duchess +replied, in a pleased tone. + + `Pray don't trouble yourself to say it any longer than that,' +said Alice. + + `Oh, don't talk about trouble!' said the Duchess. `I make you +a present of everything I've said as yet.' + + `A cheap sort of present!' thought Alice. `I'm glad they don't +give birthday presents like that!' But she did not venture to +say it out loud. + + `Thinking again?' the Duchess asked, with another dig of her +sharp little chin. + + `I've a right to think,' said Alice sharply, for she was +beginning to feel a little worried. + + `Just about as much right,' said the Duchess, `as pigs have to +fly; and the m--' + + But here, to Alice's great surprise, the Duchess's voice died +away, even in the middle of her favourite word `moral,' and the +arm that was linked into hers began to tremble. Alice looked up, +and there stood the Queen in front of them, with her arms folded, +frowning like a thunderstorm. + + `A fine day, your Majesty!' the Duchess began in a low, weak +voice. + + `Now, I give you fair warning,' shouted the Queen, stamping on +the ground as she spoke; `either you or your head must be off, +and that in about half no time! Take your choice!' + + The Duchess took her choice, and was gone in a moment. + + `Let's go on with the game,' the Queen said to Alice; and Alice +was too much frightened to say a word, but slowly followed her +back to the croquet-ground. + + The other guests had taken advantage of the Queen's absence, +and were resting in the shade: however, the moment they saw her, +they hurried back to the game, the Queen merely remarking that a +moment's delay would cost them their lives. + + All the time they were playing the Queen never left off +quarrelling with the other players, and shouting `Off with his +head!' or `Off with her head!' Those whom she sentenced were +taken into custody by the soldiers, who of course had to leave +off being arches to do this, so that by the end of half an hour +or so there were no arches left, and all the players, except the +King, the Queen, and Alice, were in custody and under sentence of +execution. + + Then the Queen left off, quite out of breath, and said to +Alice, `Have you seen the Mock Turtle yet?' + + `No,' said Alice. `I don't even know what a Mock Turtle is.' + + `It's the thing Mock Turtle Soup is made from,' said the Queen. + + `I never saw one, or heard of one,' said Alice. + + `Come on, then,' said the Queen, `and he shall tell you his +history,' + + As they walked off together, Alice heard the King say in a low +voice, to the company generally, `You are all pardoned.' `Come, +THAT'S a good thing!' she said to herself, for she had felt quite +unhappy at the number of executions the Queen had ordered. + + They very soon came upon a Gryphon, lying fast asleep in the +sun. (IF you don't know what a Gryphon is, look at the picture.) +`Up, lazy thing!' said the Queen, `and take this young lady to +see the Mock Turtle, and to hear his history. I must go back and +see after some executions I have ordered'; and she walked off, +leaving Alice alone with the Gryphon. Alice did not quite like +the look of the creature, but on the whole she thought it would +be quite as safe to stay with it as to go after that savage +Queen: so she waited. + + The Gryphon sat up and rubbed its eyes: then it watched the +Queen till she was out of sight: then it chuckled. `What fun!' +said the Gryphon, half to itself, half to Alice. + + `What IS the fun?' said Alice. + + `Why, SHE,' said the Gryphon. `It's all her fancy, that: they +never executes nobody, you know. Come on!' + + `Everybody says "come on!" here,' thought Alice, as she went +slowly after it: `I never was so ordered about in all my life, +never!' + + They had not gone far before they saw the Mock Turtle in the +distance, sitting sad and lonely on a little ledge of rock, and, +as they came nearer, Alice could hear him sighing as if his heart +would break. She pitied him deeply. `What is his sorrow?' she +asked the Gryphon, and the Gryphon answered, very nearly in the +same words as before, `It's all his fancy, that: he hasn't got +no sorrow, you know. Come on!' + + So they went up to the Mock Turtle, who looked at them with +large eyes full of tears, but said nothing. + + `This here young lady,' said the Gryphon, `she wants for to +know your history, she do.' + + `I'll tell it her,' said the Mock Turtle in a deep, hollow +tone: `sit down, both of you, and don't speak a word till I've +finished.' + + So they sat down, and nobody spoke for some minutes. Alice +thought to herself, `I don't see how he can EVEN finish, if he +doesn't begin.' But she waited patiently. + + `Once,' said the Mock Turtle at last, with a deep sigh, `I was +a real Turtle.' + + These words were followed by a very long silence, broken only +by an occasional exclamation of `Hjckrrh!' from the Gryphon, and +the constant heavy sobbing of the Mock Turtle. Alice was very +nearly getting up and saying, `Thank you, sir, for your +interesting story,' but she could not help thinking there MUST be +more to come, so she sat still and said nothing. + + `When we were little,' the Mock Turtle went on at last, more +calmly, though still sobbing a little now and then, `we went to +school in the sea. The master was an old Turtle--we used to call +him Tortoise--' + + `Why did you call him Tortoise, if he wasn't one?' Alice asked. + + `We called him Tortoise because he taught us,' said the Mock +Turtle angrily: `really you are very dull!' + + `You ought to be ashamed of yourself for asking such a simple +question,' added the Gryphon; and then they both sat silent and +looked at poor Alice, who felt ready to sink into the earth. At +last the Gryphon said to the Mock Turtle, `Drive on, old fellow! +Don't be all day about it!' and he went on in these words: + + `Yes, we went to school in the sea, though you mayn't believe +it--' + + `I never said I didn't!' interrupted Alice. + + `You did,' said the Mock Turtle. + + `Hold your tongue!' added the Gryphon, before Alice could speak +again. The Mock Turtle went on. + + `We had the best of educations--in fact, we went to school +every day--' + + `I'VE been to a day-school, too,' said Alice; `you needn't be +so proud as all that.' + + `With extras?' asked the Mock Turtle a little anxiously. + + `Yes,' said Alice, `we learned French and music.' + + `And washing?' said the Mock Turtle. + + `Certainly not!' said Alice indignantly. + + `Ah! then yours wasn't a really good school,' said the Mock +Turtle in a tone of great relief. `Now at OURS they had at the +end of the bill, "French, music, AND WASHING--extra."' + + `You couldn't have wanted it much,' said Alice; `living at the +bottom of the sea.' + + `I couldn't afford to learn it.' said the Mock Turtle with a +sigh. `I only took the regular course.' + + `What was that?' inquired Alice. + + `Reeling and Writhing, of course, to begin with,' the Mock +Turtle replied; `and then the different branches of Arithmetic-- +Ambition, Distraction, Uglification, and Derision.' + + `I never heard of "Uglification,"' Alice ventured to say. `What +is it?' + + The Gryphon lifted up both its paws in surprise. `What! Never +heard of uglifying!' it exclaimed. `You know what to beautify +is, I suppose?' + + `Yes,' said Alice doubtfully: `it means--to--make--anything-- +prettier.' + + `Well, then,' the Gryphon went on, `if you don't know what to +uglify is, you ARE a simpleton.' + + Alice did not feel encouraged to ask any more questions about +it, so she turned to the Mock Turtle, and said `What else had you +to learn?' + + `Well, there was Mystery,' the Mock Turtle replied, counting +off the subjects on his flappers, `--Mystery, ancient and modern, +with Seaography: then Drawling--the Drawling-master was an old +conger-eel, that used to come once a week: HE taught us +Drawling, Stretching, and Fainting in Coils.' + + `What was THAT like?' said Alice. + + `Well, I can't show it you myself,' the Mock Turtle said: `I'm +too stiff. And the Gryphon never learnt it.' + + `Hadn't time,' said the Gryphon: `I went to the Classics +master, though. He was an old crab, HE was.' + + `I never went to him,' the Mock Turtle said with a sigh: `he +taught Laughing and Grief, they used to say.' + + `So he did, so he did,' said the Gryphon, sighing in his turn; +and both creatures hid their faces in their paws. + + `And how many hours a day did you do lessons?' said Alice, in a +hurry to change the subject. + + `Ten hours the first day,' said the Mock Turtle: `nine the +next, and so on.' + + `What a curious plan!' exclaimed Alice. + + `That's the reason they're called lessons,' the Gryphon +remarked: `because they lessen from day to day.' + + This was quite a new idea to Alice, and she thought it over a +little before she made her next remark. `Then the eleventh day +must have been a holiday?' + + `Of course it was,' said the Mock Turtle. + + `And how did you manage on the twelfth?' Alice went on eagerly. + + `That's enough about lessons,' the Gryphon interrupted in a +very decided tone: `tell her something about the games now.' + + + + CHAPTER X + + The Lobster Quadrille + + + The Mock Turtle sighed deeply, and drew the back of one flapper +across his eyes. He looked at Alice, and tried to speak, but for +a minute or two sobs choked his voice. `Same as if he had a bone +in his throat,' said the Gryphon: and it set to work shaking him +and punching him in the back. At last the Mock Turtle recovered +his voice, and, with tears running down his cheeks, he went on +again:-- + + `You may not have lived much under the sea--' (`I haven't,' +said Alice)--`and perhaps you were never even introduced to a lobster--' +(Alice began to say `I once tasted--' but checked herself hastily, +and said `No, never') `--so you can have no idea what a delightful +thing a Lobster Quadrille is!' + + `No, indeed,' said Alice. `What sort of a dance is it?' + + `Why,' said the Gryphon, `you first form into a line along the +sea-shore--' + + `Two lines!' cried the Mock Turtle. `Seals, turtles, salmon, +and so on; then, when you've cleared all the jelly-fish out of +the way--' + + `THAT generally takes some time,' interrupted the Gryphon. + + `--you advance twice--' + + `Each with a lobster as a partner!' cried the Gryphon. + + `Of course,' the Mock Turtle said: `advance twice, set to +partners--' + + `--change lobsters, and retire in same order,' continued the +Gryphon. + + `Then, you know,' the Mock Turtle went on, `you throw the--' + + `The lobsters!' shouted the Gryphon, with a bound into the air. + + `--as far out to sea as you can--' + + `Swim after them!' screamed the Gryphon. + + `Turn a somersault in the sea!' cried the Mock Turtle, +capering wildly about. + + `Back to land again, and that's all the first figure,' said the +Mock Turtle, suddenly dropping his voice; and the two creatures, +who had been jumping about like mad things all this time, sat +down again very sadly and quietly, and looked at Alice. + + `It must be a very pretty dance,' said Alice timidly. + + `Would you like to see a little of it?' said the Mock Turtle. + + `Very much indeed,' said Alice. + + `Come, let's try the first figure!' said the Mock Turtle to the +Gryphon. `We can do without lobsters, you know. Which shall +sing?' + + `Oh, YOU sing,' said the Gryphon. `I've forgotten the words.' + + So they began solemnly dancing round and round Alice, every now +and then treading on her toes when they passed too close, and +waving their forepaws to mark the time, while the Mock Turtle +sang this, very slowly and sadly:-- + + +`"Will you walk a little faster?" said a whiting to a snail. +"There's a porpoise close behind us, and he's treading on my + tail. +See how eagerly the lobsters and the turtles all advance! +They are waiting on the shingle--will you come and join the +dance? + +Will you, won't you, will you, won't you, will you join the +dance? +Will you, won't you, will you, won't you, won't you join the +dance? + + +"You can really have no notion how delightful it will be +When they take us up and throw us, with the lobsters, out to + sea!" +But the snail replied "Too far, too far!" and gave a look + askance-- +Said he thanked the whiting kindly, but he would not join the + dance. + Would not, could not, would not, could not, would not join + the dance. + Would not, could not, would not, could not, could not join + the dance. + +`"What matters it how far we go?" his scaly friend replied. +"There is another shore, you know, upon the other side. +The further off from England the nearer is to France-- +Then turn not pale, beloved snail, but come and join the dance. + + Will you, won't you, will you, won't you, will you join the + dance? + Will you, won't you, will you, won't you, won't you join the + dance?"' + + + + `Thank you, it's a very interesting dance to watch,' said +Alice, feeling very glad that it was over at last: `and I do so +like that curious song about the whiting!' + + `Oh, as to the whiting,' said the Mock Turtle, `they--you've +seen them, of course?' + + `Yes,' said Alice, `I've often seen them at dinn--' she +checked herself hastily. + + `I don't know where Dinn may be,' said the Mock Turtle, `but +if you've seen them so often, of course you know what they're +like.' + + `I believe so,' Alice replied thoughtfully. `They have their +tails in their mouths--and they're all over crumbs.' + + `You're wrong about the crumbs,' said the Mock Turtle: +`crumbs would all wash off in the sea. But they HAVE their tails +in their mouths; and the reason is--' here the Mock Turtle +yawned and shut his eyes.--`Tell her about the reason and all +that,' he said to the Gryphon. + + `The reason is,' said the Gryphon, `that they WOULD go with +the lobsters to the dance. So they got thrown out to sea. So +they had to fall a long way. So they got their tails fast in +their mouths. So they couldn't get them out again. That's all.' + + `Thank you,' said Alice, `it's very interesting. I never knew +so much about a whiting before.' + + `I can tell you more than that, if you like,' said the +Gryphon. `Do you know why it's called a whiting?' + + `I never thought about it,' said Alice. `Why?' + + `IT DOES THE BOOTS AND SHOES.' the Gryphon replied very +solemnly. + + Alice was thoroughly puzzled. `Does the boots and shoes!' she +repeated in a wondering tone. + + `Why, what are YOUR shoes done with?' said the Gryphon. `I +mean, what makes them so shiny?' + + Alice looked down at them, and considered a little before she +gave her answer. `They're done with blacking, I believe.' + + `Boots and shoes under the sea,' the Gryphon went on in a deep +voice, `are done with a whiting. Now you know.' + + `And what are they made of?' Alice asked in a tone of great +curiosity. + + `Soles and eels, of course,' the Gryphon replied rather +impatiently: `any shrimp could have told you that.' + + `If I'd been the whiting,' said Alice, whose thoughts were +still running on the song, `I'd have said to the porpoise, "Keep +back, please: we don't want YOU with us!"' + + `They were obliged to have him with them,' the Mock Turtle +said: `no wise fish would go anywhere without a porpoise.' + + `Wouldn't it really?' said Alice in a tone of great surprise. + + `Of course not,' said the Mock Turtle: `why, if a fish came +to ME, and told me he was going a journey, I should say "With +what porpoise?"' + + `Don't you mean "purpose"?' said Alice. + + `I mean what I say,' the Mock Turtle replied in an offended +tone. And the Gryphon added `Come, let's hear some of YOUR +adventures.' + + `I could tell you my adventures--beginning from this morning,' +said Alice a little timidly: `but it's no use going back to +yesterday, because I was a different person then.' + + `Explain all that,' said the Mock Turtle. + + `No, no! The adventures first,' said the Gryphon in an +impatient tone: `explanations take such a dreadful time.' + + So Alice began telling them her adventures from the time when +she first saw the White Rabbit. She was a little nervous about +it just at first, the two creatures got so close to her, one on +each side, and opened their eyes and mouths so VERY wide, but she +gained courage as she went on. Her listeners were perfectly +quiet till she got to the part about her repeating `YOU ARE OLD, +FATHER WILLIAM,' to the Caterpillar, and the words all coming +different, and then the Mock Turtle drew a long breath, and said +`That's very curious.' + + `It's all about as curious as it can be,' said the Gryphon. + + `It all came different!' the Mock Turtle repeated +thoughtfully. `I should like to hear her try and repeat +something now. Tell her to begin.' He looked at the Gryphon as +if he thought it had some kind of authority over Alice. + + `Stand up and repeat "'TIS THE VOICE OF THE SLUGGARD,"' said +the Gryphon. + + `How the creatures order one about, and make one repeat +lessons!' thought Alice; `I might as well be at school at once.' +However, she got up, and began to repeat it, but her head was so +full of the Lobster Quadrille, that she hardly knew what she was +saying, and the words came very queer indeed:-- + + `'Tis the voice of the Lobster; I heard him declare, + "You have baked me too brown, I must sugar my hair." + As a duck with its eyelids, so he with his nose + Trims his belt and his buttons, and turns out his toes.' + + [later editions continued as follows + When the sands are all dry, he is gay as a lark, + And will talk in contemptuous tones of the Shark, + But, when the tide rises and sharks are around, + His voice has a timid and tremulous sound.] + + `That's different from what I used to say when I was a child,' +said the Gryphon. + + `Well, I never heard it before,' said the Mock Turtle; `but it +sounds uncommon nonsense.' + + Alice said nothing; she had sat down with her face in her +hands, wondering if anything would EVER happen in a natural way +again. + + `I should like to have it explained,' said the Mock Turtle. + + `She can't explain it,' said the Gryphon hastily. `Go on with +the next verse.' + + `But about his toes?' the Mock Turtle persisted. `How COULD +he turn them out with his nose, you know?' + + `It's the first position in dancing.' Alice said; but was +dreadfully puzzled by the whole thing, and longed to change the +subject. + + `Go on with the next verse,' the Gryphon repeated impatiently: +`it begins "I passed by his garden."' + + Alice did not dare to disobey, though she felt sure it would +all come wrong, and she went on in a trembling voice:-- + + `I passed by his garden, and marked, with one eye, + How the Owl and the Panther were sharing a pie--' + + [later editions continued as follows + The Panther took pie-crust, and gravy, and meat, + While the Owl had the dish as its share of the treat. + When the pie was all finished, the Owl, as a boon, + Was kindly permitted to pocket the spoon: + While the Panther received knife and fork with a growl, + And concluded the banquet--] + + `What IS the use of repeating all that stuff,' the Mock Turtle +interrupted, `if you don't explain it as you go on? It's by far +the most confusing thing I ever heard!' + + `Yes, I think you'd better leave off,' said the Gryphon: and +Alice was only too glad to do so. + + `Shall we try another figure of the Lobster Quadrille?' the +Gryphon went on. `Or would you like the Mock Turtle to sing you +a song?' + + `Oh, a song, please, if the Mock Turtle would be so kind,' +Alice replied, so eagerly that the Gryphon said, in a rather +offended tone, `Hm! No accounting for tastes! Sing her "Turtle +Soup," will you, old fellow?' + + The Mock Turtle sighed deeply, and began, in a voice sometimes +choked with sobs, to sing this:-- + + + `Beautiful Soup, so rich and green, + Waiting in a hot tureen! + Who for such dainties would not stoop? + Soup of the evening, beautiful Soup! + Soup of the evening, beautiful Soup! + Beau--ootiful Soo--oop! + Beau--ootiful Soo--oop! + Soo--oop of the e--e--evening, + Beautiful, beautiful Soup! + + `Beautiful Soup! Who cares for fish, + Game, or any other dish? + Who would not give all else for two p + ennyworth only of beautiful Soup? + Pennyworth only of beautiful Soup? + Beau--ootiful Soo--oop! + Beau--ootiful Soo--oop! + Soo--oop of the e--e--evening, + Beautiful, beauti--FUL SOUP!' + + `Chorus again!' cried the Gryphon, and the Mock Turtle had +just begun to repeat it, when a cry of `The trial's beginning!' +was heard in the distance. + + `Come on!' cried the Gryphon, and, taking Alice by the hand, +it hurried off, without waiting for the end of the song. + + `What trial is it?' Alice panted as she ran; but the Gryphon +only answered `Come on!' and ran the faster, while more and more +faintly came, carried on the breeze that followed them, the +melancholy words:-- + + `Soo--oop of the e--e--evening, + Beautiful, beautiful Soup!' + + + + CHAPTER XI + + Who Stole the Tarts? + + + The King and Queen of Hearts were seated on their throne when +they arrived, with a great crowd assembled about them--all sorts +of little birds and beasts, as well as the whole pack of cards: +the Knave was standing before them, in chains, with a soldier on +each side to guard him; and near the King was the White Rabbit, +with a trumpet in one hand, and a scroll of parchment in the +other. In the very middle of the court was a table, with a large +dish of tarts upon it: they looked so good, that it made Alice +quite hungry to look at them--`I wish they'd get the trial done,' +she thought, `and hand round the refreshments!' But there seemed +to be no chance of this, so she began looking at everything about +her, to pass away the time. + + Alice had never been in a court of justice before, but she had +read about them in books, and she was quite pleased to find that +she knew the name of nearly everything there. `That's the +judge,' she said to herself, `because of his great wig.' + + The judge, by the way, was the King; and as he wore his crown +over the wig, (look at the frontispiece if you want to see how he +did it,) he did not look at all comfortable, and it was certainly +not becoming. + + `And that's the jury-box,' thought Alice, `and those twelve +creatures,' (she was obliged to say `creatures,' you see, because +some of them were animals, and some were birds,) `I suppose they +are the jurors.' She said this last word two or three times over +to herself, being rather proud of it: for she thought, and +rightly too, that very few little girls of her age knew the +meaning of it at all. However, `jury-men' would have done just +as well. + + The twelve jurors were all writing very busily on slates. +`What are they doing?' Alice whispered to the Gryphon. `They +can't have anything to put down yet, before the trial's begun.' + + `They're putting down their names,' the Gryphon whispered in +reply, `for fear they should forget them before the end of the +trial.' + + `Stupid things!' Alice began in a loud, indignant voice, but +she stopped hastily, for the White Rabbit cried out, `Silence in +the court!' and the King put on his spectacles and looked +anxiously round, to make out who was talking. + + Alice could see, as well as if she were looking over their +shoulders, that all the jurors were writing down `stupid things!' +on their slates, and she could even make out that one of them +didn't know how to spell `stupid,' and that he had to ask his +neighbour to tell him. `A nice muddle their slates'll be in +before the trial's over!' thought Alice. + + One of the jurors had a pencil that squeaked. This of course, +Alice could not stand, and she went round the court and got +behind him, and very soon found an opportunity of taking it +away. She did it so quickly that the poor little juror (it was +Bill, the Lizard) could not make out at all what had become of +it; so, after hunting all about for it, he was obliged to write +with one finger for the rest of the day; and this was of very +little use, as it left no mark on the slate. + + `Herald, read the accusation!' said the King. + + On this the White Rabbit blew three blasts on the trumpet, and +then unrolled the parchment scroll, and read as follows:-- + + `The Queen of Hearts, she made some tarts, + All on a summer day: + The Knave of Hearts, he stole those tarts, + And took them quite away!' + + `Consider your verdict,' the King said to the jury. + + `Not yet, not yet!' the Rabbit hastily interrupted. `There's +a great deal to come before that!' + + `Call the first witness,' said the King; and the White Rabbit +blew three blasts on the trumpet, and called out, `First +witness!' + + The first witness was the Hatter. He came in with a teacup in +one hand and a piece of bread-and-butter in the other. `I beg +pardon, your Majesty,' he began, `for bringing these in: but I +hadn't quite finished my tea when I was sent for.' + + `You ought to have finished,' said the King. `When did you +begin?' + + The Hatter looked at the March Hare, who had followed him into +the court, arm-in-arm with the Dormouse. `Fourteenth of March, I +think it was,' he said. + + `Fifteenth,' said the March Hare. + + `Sixteenth,' added the Dormouse. + + `Write that down,' the King said to the jury, and the jury +eagerly wrote down all three dates on their slates, and then +added them up, and reduced the answer to shillings and pence. + + `Take off your hat,' the King said to the Hatter. + + `It isn't mine,' said the Hatter. + + `Stolen!' the King exclaimed, turning to the jury, who +instantly made a memorandum of the fact. + + `I keep them to sell,' the Hatter added as an explanation; +`I've none of my own. I'm a hatter.' + + Here the Queen put on her spectacles, and began staring at the +Hatter, who turned pale and fidgeted. + + `Give your evidence,' said the King; `and don't be nervous, or +I'll have you executed on the spot.' + + This did not seem to encourage the witness at all: he kept +shifting from one foot to the other, looking uneasily at the +Queen, and in his confusion he bit a large piece out of his +teacup instead of the bread-and-butter. + + Just at this moment Alice felt a very curious sensation, which +puzzled her a good deal until she made out what it was: she was +beginning to grow larger again, and she thought at first she +would get up and leave the court; but on second thoughts she +decided to remain where she was as long as there was room for +her. + + `I wish you wouldn't squeeze so.' said the Dormouse, who was +sitting next to her. `I can hardly breathe.' + + `I can't help it,' said Alice very meekly: `I'm growing.' + + `You've no right to grow here,' said the Dormouse. + + `Don't talk nonsense,' said Alice more boldly: `you know +you're growing too.' + + `Yes, but I grow at a reasonable pace,' said the Dormouse: +`not in that ridiculous fashion.' And he got up very sulkily +and crossed over to the other side of the court. + + All this time the Queen had never left off staring at the +Hatter, and, just as the Dormouse crossed the court, she said to +one of the officers of the court, `Bring me the list of the +singers in the last concert!' on which the wretched Hatter +trembled so, that he shook both his shoes off. + + `Give your evidence,' the King repeated angrily, `or I'll have +you executed, whether you're nervous or not.' + + `I'm a poor man, your Majesty,' the Hatter began, in a +trembling voice, `--and I hadn't begun my tea--not above a week +or so--and what with the bread-and-butter getting so thin--and +the twinkling of the tea--' + + `The twinkling of the what?' said the King. + + `It began with the tea,' the Hatter replied. + + `Of course twinkling begins with a T!' said the King sharply. +`Do you take me for a dunce? Go on!' + + `I'm a poor man,' the Hatter went on, `and most things +twinkled after that--only the March Hare said--' + + `I didn't!' the March Hare interrupted in a great hurry. + + `You did!' said the Hatter. + + `I deny it!' said the March Hare. + + `He denies it,' said the King: `leave out that part.' + + `Well, at any rate, the Dormouse said--' the Hatter went on, +looking anxiously round to see if he would deny it too: but the +Dormouse denied nothing, being fast asleep. + + `After that,' continued the Hatter, `I cut some more bread- +and-butter--' + + `But what did the Dormouse say?' one of the jury asked. + + `That I can't remember,' said the Hatter. + + `You MUST remember,' remarked the King, `or I'll have you +executed.' + + The miserable Hatter dropped his teacup and bread-and-butter, +and went down on one knee. `I'm a poor man, your Majesty,' he +began. + + `You're a very poor speaker,' said the King. + + Here one of the guinea-pigs cheered, and was immediately +suppressed by the officers of the court. (As that is rather a +hard word, I will just explain to you how it was done. They had +a large canvas bag, which tied up at the mouth with strings: +into this they slipped the guinea-pig, head first, and then sat +upon it.) + + `I'm glad I've seen that done,' thought Alice. `I've so often +read in the newspapers, at the end of trials, "There was some +attempts at applause, which was immediately suppressed by the +officers of the court," and I never understood what it meant +till now.' + + `If that's all you know about it, you may stand down,' +continued the King. + + `I can't go no lower,' said the Hatter: `I'm on the floor, as +it is.' + + `Then you may SIT down,' the King replied. + + Here the other guinea-pig cheered, and was suppressed. + + `Come, that finished the guinea-pigs!' thought Alice. `Now we +shall get on better.' + + `I'd rather finish my tea,' said the Hatter, with an anxious +look at the Queen, who was reading the list of singers. + + `You may go,' said the King, and the Hatter hurriedly left the +court, without even waiting to put his shoes on. + + `--and just take his head off outside,' the Queen added to one +of the officers: but the Hatter was out of sight before the +officer could get to the door. + + `Call the next witness!' said the King. + + The next witness was the Duchess's cook. She carried the +pepper-box in her hand, and Alice guessed who it was, even before +she got into the court, by the way the people near the door began +sneezing all at once. + + `Give your evidence,' said the King. + + `Shan't,' said the cook. + + The King looked anxiously at the White Rabbit, who said in a +low voice, `Your Majesty must cross-examine THIS witness.' + + `Well, if I must, I must,' the King said, with a melancholy +air, and, after folding his arms and frowning at the cook till +his eyes were nearly out of sight, he said in a deep voice, `What +are tarts made of?' + + `Pepper, mostly,' said the cook. + + `Treacle,' said a sleepy voice behind her. + + `Collar that Dormouse,' the Queen shrieked out. `Behead that +Dormouse! Turn that Dormouse out of court! Suppress him! Pinch +him! Off with his whiskers!' + + For some minutes the whole court was in confusion, getting the +Dormouse turned out, and, by the time they had settled down +again, the cook had disappeared. + + `Never mind!' said the King, with an air of great relief. +`Call the next witness.' And he added in an undertone to the +Queen, `Really, my dear, YOU must cross-examine the next witness. +It quite makes my forehead ache!' + + Alice watched the White Rabbit as he fumbled over the list, +feeling very curious to see what the next witness would be like, +`--for they haven't got much evidence YET,' she said to herself. +Imagine her surprise, when the White Rabbit read out, at the top +of his shrill little voice, the name `Alice!' + + + + CHAPTER XII + + Alice's Evidence + + + `Here!' cried Alice, quite forgetting in the flurry of the +moment how large she had grown in the last few minutes, and she +jumped up in such a hurry that she tipped over the jury-box with +the edge of her skirt, upsetting all the jurymen on to the heads +of the crowd below, and there they lay sprawling about, reminding +her very much of a globe of goldfish she had accidentally upset +the week before. + + `Oh, I BEG your pardon!' she exclaimed in a tone of great +dismay, and began picking them up again as quickly as she could, +for the accident of the goldfish kept running in her head, and +she had a vague sort of idea that they must be collected at once +and put back into the jury-box, or they would die. + + `The trial cannot proceed,' said the King in a very grave +voice, `until all the jurymen are back in their proper places-- +ALL,' he repeated with great emphasis, looking hard at Alice as +he said do. + + Alice looked at the jury-box, and saw that, in her haste, she +had put the Lizard in head downwards, and the poor little thing +was waving its tail about in a melancholy way, being quite unable +to move. She soon got it out again, and put it right; `not that +it signifies much,' she said to herself; `I should think it +would be QUITE as much use in the trial one way up as the other.' + + As soon as the jury had a little recovered from the shock of +being upset, and their slates and pencils had been found and +handed back to them, they set to work very diligently to write +out a history of the accident, all except the Lizard, who seemed +too much overcome to do anything but sit with its mouth open, +gazing up into the roof of the court. + + `What do you know about this business?' the King said to +Alice. + + `Nothing,' said Alice. + + `Nothing WHATEVER?' persisted the King. + + `Nothing whatever,' said Alice. + + `That's very important,' the King said, turning to the jury. +They were just beginning to write this down on their slates, when +the White Rabbit interrupted: `UNimportant, your Majesty means, +of course,' he said in a very respectful tone, but frowning and +making faces at him as he spoke. + + `UNimportant, of course, I meant,' the King hastily said, and +went on to himself in an undertone, `important--unimportant-- +unimportant--important--' as if he were trying which word +sounded best. + + Some of the jury wrote it down `important,' and some +`unimportant.' Alice could see this, as she was near enough to +look over their slates; `but it doesn't matter a bit,' she +thought to herself. + + At this moment the King, who had been for some time busily +writing in his note-book, cackled out `Silence!' and read out +from his book, `Rule Forty-two. ALL PERSONS MORE THAN A MILE +HIGH TO LEAVE THE COURT.' + + Everybody looked at Alice. + + `I'M not a mile high,' said Alice. + + `You are,' said the King. + + `Nearly two miles high,' added the Queen. + + `Well, I shan't go, at any rate,' said Alice: `besides, +that's not a regular rule: you invented it just now.' + + `It's the oldest rule in the book,' said the King. + + `Then it ought to be Number One,' said Alice. + + The King turned pale, and shut his note-book hastily. +`Consider your verdict,' he said to the jury, in a low, trembling +voice. + + `There's more evidence to come yet, please your Majesty,' said +the White Rabbit, jumping up in a great hurry; `this paper has +just been picked up.' + + `What's in it?' said the Queen. + + `I haven't opened it yet,' said the White Rabbit, `but it seems +to be a letter, written by the prisoner to--to somebody.' + + `It must have been that,' said the King, `unless it was +written to nobody, which isn't usual, you know.' + + `Who is it directed to?' said one of the jurymen. + + `It isn't directed at all,' said the White Rabbit; `in fact, +there's nothing written on the OUTSIDE.' He unfolded the paper +as he spoke, and added `It isn't a letter, after all: it's a set +of verses.' + + `Are they in the prisoner's handwriting?' asked another of +they jurymen. + + `No, they're not,' said the White Rabbit, `and that's the +queerest thing about it.' (The jury all looked puzzled.) + + `He must have imitated somebody else's hand,' said the King. +(The jury all brightened up again.) + + `Please your Majesty,' said the Knave, `I didn't write it, and +they can't prove I did: there's no name signed at the end.' + + `If you didn't sign it,' said the King, `that only makes the +matter worse. You MUST have meant some mischief, or else you'd +have signed your name like an honest man.' + + There was a general clapping of hands at this: it was the +first really clever thing the King had said that day. + + `That PROVES his guilt,' said the Queen. + + `It proves nothing of the sort!' said Alice. `Why, you don't +even know what they're about!' + + `Read them,' said the King. + + The White Rabbit put on his spectacles. `Where shall I begin, +please your Majesty?' he asked. + + `Begin at the beginning,' the King said gravely, `and go on +till you come to the end: then stop.' + + These were the verses the White Rabbit read:-- + + `They told me you had been to her, + And mentioned me to him: + She gave me a good character, + But said I could not swim. + + He sent them word I had not gone + (We know it to be true): + If she should push the matter on, + What would become of you? + + I gave her one, they gave him two, + You gave us three or more; + They all returned from him to you, + Though they were mine before. + + If I or she should chance to be + Involved in this affair, + He trusts to you to set them free, + Exactly as we were. + + My notion was that you had been + (Before she had this fit) + An obstacle that came between + Him, and ourselves, and it. + + Don't let him know she liked them best, + For this must ever be + A secret, kept from all the rest, + Between yourself and me.' + + `That's the most important piece of evidence we've heard yet,' +said the King, rubbing his hands; `so now let the jury--' + + `If any one of them can explain it,' said Alice, (she had +grown so large in the last few minutes that she wasn't a bit +afraid of interrupting him,) `I'll give him sixpence. _I_ don't +believe there's an atom of meaning in it.' + + The jury all wrote down on their slates, `SHE doesn't believe +there's an atom of meaning in it,' but none of them attempted to +explain the paper. + + `If there's no meaning in it,' said the King, `that saves a +world of trouble, you know, as we needn't try to find any. And +yet I don't know,' he went on, spreading out the verses on his +knee, and looking at them with one eye; `I seem to see some +meaning in them, after all. "--SAID I COULD NOT SWIM--" you +can't swim, can you?' he added, turning to the Knave. + + The Knave shook his head sadly. `Do I look like it?' he said. +(Which he certainly did NOT, being made entirely of cardboard.) + + `All right, so far,' said the King, and he went on muttering +over the verses to himself: `"WE KNOW IT TO BE TRUE--" that's +the jury, of course-- "I GAVE HER ONE, THEY GAVE HIM TWO--" why, +that must be what he did with the tarts, you know--' + + `But, it goes on "THEY ALL RETURNED FROM HIM TO YOU,"' said +Alice. + + `Why, there they are!' said the King triumphantly, pointing to +the tarts on the table. `Nothing can be clearer than THAT. +Then again--"BEFORE SHE HAD THIS FIT--" you never had fits, my +dear, I think?' he said to the Queen. + + `Never!' said the Queen furiously, throwing an inkstand at the +Lizard as she spoke. (The unfortunate little Bill had left off +writing on his slate with one finger, as he found it made no +mark; but he now hastily began again, using the ink, that was +trickling down his face, as long as it lasted.) + + `Then the words don't FIT you,' said the King, looking round +the court with a smile. There was a dead silence. + + `It's a pun!' the King added in an offended tone, and +everybody laughed, `Let the jury consider their verdict,' the +King said, for about the twentieth time that day. + + `No, no!' said the Queen. `Sentence first--verdict afterwards.' + + `Stuff and nonsense!' said Alice loudly. `The idea of having +the sentence first!' + + `Hold your tongue!' said the Queen, turning purple. + + `I won't!' said Alice. + + `Off with her head!' the Queen shouted at the top of her voice. +Nobody moved. + + `Who cares for you?' said Alice, (she had grown to her full +size by this time.) `You're nothing but a pack of cards!' + + At this the whole pack rose up into the air, and came flying +down upon her: she gave a little scream, half of fright and half +of anger, and tried to beat them off, and found herself lying on +the bank, with her head in the lap of her sister, who was gently +brushing away some dead leaves that had fluttered down from the +trees upon her face. + + `Wake up, Alice dear!' said her sister; `Why, what a long +sleep you've had!' + + `Oh, I've had such a curious dream!' said Alice, and she told +her sister, as well as she could remember them, all these strange +Adventures of hers that you have just been reading about; and +when she had finished, her sister kissed her, and said, `It WAS a +curious dream, dear, certainly: but now run in to your tea; it's +getting late.' So Alice got up and ran off, thinking while she +ran, as well she might, what a wonderful dream it had been. + + But her sister sat still just as she left her, leaning her +head on her hand, watching the setting sun, and thinking of +little Alice and all her wonderful Adventures, till she too began +dreaming after a fashion, and this was her dream:-- + + First, she dreamed of little Alice herself, and once again the +tiny hands were clasped upon her knee, and the bright eager eyes +were looking up into hers--she could hear the very tones of her +voice, and see that queer little toss of her head to keep back +the wandering hair that WOULD always get into her eyes--and +still as she listened, or seemed to listen, the whole place +around her became alive the strange creatures of her little +sister's dream. + + The long grass rustled at her feet as the White Rabbit hurried +by--the frightened Mouse splashed his way through the +neighbouring pool--she could hear the rattle of the teacups as +the March Hare and his friends shared their never-ending meal, +and the shrill voice of the Queen ordering off her unfortunate +guests to execution--once more the pig-baby was sneezing on the +Duchess's knee, while plates and dishes crashed around it--once +more the shriek of the Gryphon, the squeaking of the Lizard's +slate-pencil, and the choking of the suppressed guinea-pigs, +filled the air, mixed up with the distant sobs of the miserable +Mock Turtle. + + So she sat on, with closed eyes, and half believed herself in +Wonderland, though she knew she had but to open them again, and +all would change to dull reality--the grass would be only +rustling in the wind, and the pool rippling to the waving of the +reeds--the rattling teacups would change to tinkling sheep- +bells, and the Queen's shrill cries to the voice of the shepherd +boy--and the sneeze of the baby, the shriek of the Gryphon, and +all thy other queer noises, would change (she knew) to the +confused clamour of the busy farm-yard--while the lowing of the +cattle in the distance would take the place of the Mock Turtle's +heavy sobs. + + Lastly, she pictured to herself how this same little sister of +hers would, in the after-time, be herself a grown woman; and how +she would keep, through all her riper years, the simple and +loving heart of her childhood: and how she would gather about +her other little children, and make THEIR eyes bright and eager +with many a strange tale, perhaps even with the dream of +Wonderland of long ago: and how she would feel with all their +simple sorrows, and find a pleasure in all their simple joys, +remembering her own child-life, and the happy summer days. + + THE END + \ No newline at end of file diff --git a/t/testdata/alice29.txt.compressed b/t/testdata/alice29.txt.compressed new file mode 100644 index 0000000000000000000000000000000000000000..37d86e253e9d812e7749cab674b9ee55f23083c0 GIT binary patch literal 50096 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 literal 0 HcmV?d00001 diff --git a/t/testdata/asyoulik.txt b/t/testdata/asyoulik.txt new file mode 100644 index 0000000..88dc7b6 --- /dev/null +++ b/t/testdata/asyoulik.txt @@ -0,0 +1,4122 @@ + AS YOU LIKE IT + + + DRAMATIS PERSONAE + + +DUKE SENIOR living in banishment. + +DUKE FREDERICK his brother, an usurper of his dominions. + + +AMIENS | + | lords attending on the banished duke. +JAQUES | + + +LE BEAU a courtier attending upon Frederick. + +CHARLES wrestler to Frederick. + + +OLIVER | + | +JAQUES (JAQUES DE BOYS:) | sons of Sir Rowland de Boys. + | +ORLANDO | + + +ADAM | + | servants to Oliver. +DENNIS | + + +TOUCHSTONE a clown. + +SIR OLIVER MARTEXT a vicar. + + +CORIN | + | shepherds. +SILVIUS | + + +WILLIAM a country fellow in love with Audrey. + + A person representing HYMEN. (HYMEN:) + +ROSALIND daughter to the banished duke. + +CELIA daughter to Frederick. + +PHEBE a shepherdess. + +AUDREY a country wench. + + Lords, pages, and attendants, &c. + (Forester:) + (A Lord:) + (First Lord:) + (Second Lord:) + (First Page:) + (Second Page:) + + +SCENE Oliver's house; Duke Frederick's court; and the + Forest of Arden. + + + + + AS YOU LIKE IT + + +ACT I + + + +SCENE I Orchard of Oliver's house. + + + [Enter ORLANDO and ADAM] + +ORLANDO As I remember, Adam, it was upon this fashion + bequeathed me by will but poor a thousand crowns, + and, as thou sayest, charged my brother, on his + blessing, to breed me well: and there begins my + sadness. My brother Jaques he keeps at school, and + report speaks goldenly of his profit: for my part, + he keeps me rustically at home, or, to speak more + properly, stays me here at home unkept; for call you + that keeping for a gentleman of my birth, that + differs not from the stalling of an ox? His horses + are bred better; for, besides that they are fair + with their feeding, they are taught their manage, + and to that end riders dearly hired: but I, his + brother, gain nothing under him but growth; for the + which his animals on his dunghills are as much + bound to him as I. Besides this nothing that he so + plentifully gives me, the something that nature gave + me his countenance seems to take from me: he lets + me feed with his hinds, bars me the place of a + brother, and, as much as in him lies, mines my + gentility with my education. This is it, Adam, that + grieves me; and the spirit of my father, which I + think is within me, begins to mutiny against this + servitude: I will no longer endure it, though yet I + know no wise remedy how to avoid it. + +ADAM Yonder comes my master, your brother. + +ORLANDO Go apart, Adam, and thou shalt hear how he will + shake me up. + + [Enter OLIVER] + +OLIVER Now, sir! what make you here? + +ORLANDO Nothing: I am not taught to make any thing. + +OLIVER What mar you then, sir? + +ORLANDO Marry, sir, I am helping you to mar that which God + made, a poor unworthy brother of yours, with idleness. + +OLIVER Marry, sir, be better employed, and be naught awhile. + +ORLANDO Shall I keep your hogs and eat husks with them? + What prodigal portion have I spent, that I should + come to such penury? + +OLIVER Know you where your are, sir? + +ORLANDO O, sir, very well; here in your orchard. + +OLIVER Know you before whom, sir? + +ORLANDO Ay, better than him I am before knows me. I know + you are my eldest brother; and, in the gentle + condition of blood, you should so know me. The + courtesy of nations allows you my better, in that + you are the first-born; but the same tradition + takes not away my blood, were there twenty brothers + betwixt us: I have as much of my father in me as + you; albeit, I confess, your coming before me is + nearer to his reverence. + +OLIVER What, boy! + +ORLANDO Come, come, elder brother, you are too young in this. + +OLIVER Wilt thou lay hands on me, villain? + +ORLANDO I am no villain; I am the youngest son of Sir + Rowland de Boys; he was my father, and he is thrice + a villain that says such a father begot villains. + Wert thou not my brother, I would not take this hand + from thy throat till this other had pulled out thy + tongue for saying so: thou hast railed on thyself. + +ADAM Sweet masters, be patient: for your father's + remembrance, be at accord. + +OLIVER Let me go, I say. + +ORLANDO I will not, till I please: you shall hear me. My + father charged you in his will to give me good + education: you have trained me like a peasant, + obscuring and hiding from me all gentleman-like + qualities. The spirit of my father grows strong in + me, and I will no longer endure it: therefore allow + me such exercises as may become a gentleman, or + give me the poor allottery my father left me by + testament; with that I will go buy my fortunes. + +OLIVER And what wilt thou do? beg, when that is spent? + Well, sir, get you in: I will not long be troubled + with you; you shall have some part of your will: I + pray you, leave me. + +ORLANDO I will no further offend you than becomes me for my good. + +OLIVER Get you with him, you old dog. + +ADAM Is 'old dog' my reward? Most true, I have lost my + teeth in your service. God be with my old master! + he would not have spoke such a word. + + [Exeunt ORLANDO and ADAM] + +OLIVER Is it even so? begin you to grow upon me? I will + physic your rankness, and yet give no thousand + crowns neither. Holla, Dennis! + + [Enter DENNIS] + +DENNIS Calls your worship? + +OLIVER Was not Charles, the duke's wrestler, here to speak with me? + +DENNIS So please you, he is here at the door and importunes + access to you. + +OLIVER Call him in. + + [Exit DENNIS] + + 'Twill be a good way; and to-morrow the wrestling is. + + [Enter CHARLES] + +CHARLES Good morrow to your worship. + +OLIVER Good Monsieur Charles, what's the new news at the + new court? + +CHARLES There's no news at the court, sir, but the old news: + that is, the old duke is banished by his younger + brother the new duke; and three or four loving lords + have put themselves into voluntary exile with him, + whose lands and revenues enrich the new duke; + therefore he gives them good leave to wander. + +OLIVER Can you tell if Rosalind, the duke's daughter, be + banished with her father? + +CHARLES O, no; for the duke's daughter, her cousin, so loves + her, being ever from their cradles bred together, + that she would have followed her exile, or have died + to stay behind her. She is at the court, and no + less beloved of her uncle than his own daughter; and + never two ladies loved as they do. + +OLIVER Where will the old duke live? + +CHARLES They say he is already in the forest of Arden, and + a many merry men with him; and there they live like + the old Robin Hood of England: they say many young + gentlemen flock to him every day, and fleet the time + carelessly, as they did in the golden world. + +OLIVER What, you wrestle to-morrow before the new duke? + +CHARLES Marry, do I, sir; and I came to acquaint you with a + matter. I am given, sir, secretly to understand + that your younger brother Orlando hath a disposition + to come in disguised against me to try a fall. + To-morrow, sir, I wrestle for my credit; and he that + escapes me without some broken limb shall acquit him + well. Your brother is but young and tender; and, + for your love, I would be loath to foil him, as I + must, for my own honour, if he come in: therefore, + out of my love to you, I came hither to acquaint you + withal, that either you might stay him from his + intendment or brook such disgrace well as he shall + run into, in that it is a thing of his own search + and altogether against my will. + +OLIVER Charles, I thank thee for thy love to me, which + thou shalt find I will most kindly requite. I had + myself notice of my brother's purpose herein and + have by underhand means laboured to dissuade him from + it, but he is resolute. I'll tell thee, Charles: + it is the stubbornest young fellow of France, full + of ambition, an envious emulator of every man's + good parts, a secret and villanous contriver against + me his natural brother: therefore use thy + discretion; I had as lief thou didst break his neck + as his finger. And thou wert best look to't; for if + thou dost him any slight disgrace or if he do not + mightily grace himself on thee, he will practise + against thee by poison, entrap thee by some + treacherous device and never leave thee till he + hath ta'en thy life by some indirect means or other; + for, I assure thee, and almost with tears I speak + it, there is not one so young and so villanous this + day living. I speak but brotherly of him; but + should I anatomize him to thee as he is, I must + blush and weep and thou must look pale and wonder. + +CHARLES I am heartily glad I came hither to you. If he come + to-morrow, I'll give him his payment: if ever he go + alone again, I'll never wrestle for prize more: and + so God keep your worship! + +OLIVER Farewell, good Charles. + + [Exit CHARLES] + + Now will I stir this gamester: I hope I shall see + an end of him; for my soul, yet I know not why, + hates nothing more than he. Yet he's gentle, never + schooled and yet learned, full of noble device, of + all sorts enchantingly beloved, and indeed so much + in the heart of the world, and especially of my own + people, who best know him, that I am altogether + misprised: but it shall not be so long; this + wrestler shall clear all: nothing remains but that + I kindle the boy thither; which now I'll go about. + + [Exit] + + + + + AS YOU LIKE IT + + +ACT I + + + +SCENE II Lawn before the Duke's palace. + + + [Enter CELIA and ROSALIND] + +CELIA I pray thee, Rosalind, sweet my coz, be merry. + +ROSALIND Dear Celia, I show more mirth than I am mistress of; + and would you yet I were merrier? Unless you could + teach me to forget a banished father, you must not + learn me how to remember any extraordinary pleasure. + +CELIA Herein I see thou lovest me not with the full weight + that I love thee. If my uncle, thy banished father, + had banished thy uncle, the duke my father, so thou + hadst been still with me, I could have taught my + love to take thy father for mine: so wouldst thou, + if the truth of thy love to me were so righteously + tempered as mine is to thee. + +ROSALIND Well, I will forget the condition of my estate, to + rejoice in yours. + +CELIA You know my father hath no child but I, nor none is + like to have: and, truly, when he dies, thou shalt + be his heir, for what he hath taken away from thy + father perforce, I will render thee again in + affection; by mine honour, I will; and when I break + that oath, let me turn monster: therefore, my + sweet Rose, my dear Rose, be merry. + +ROSALIND From henceforth I will, coz, and devise sports. Let + me see; what think you of falling in love? + +CELIA Marry, I prithee, do, to make sport withal: but + love no man in good earnest; nor no further in sport + neither than with safety of a pure blush thou mayst + in honour come off again. + +ROSALIND What shall be our sport, then? + +CELIA Let us sit and mock the good housewife Fortune from + her wheel, that her gifts may henceforth be bestowed equally. + +ROSALIND I would we could do so, for her benefits are + mightily misplaced, and the bountiful blind woman + doth most mistake in her gifts to women. + +CELIA 'Tis true; for those that she makes fair she scarce + makes honest, and those that she makes honest she + makes very ill-favouredly. + +ROSALIND Nay, now thou goest from Fortune's office to + Nature's: Fortune reigns in gifts of the world, + not in the lineaments of Nature. + + [Enter TOUCHSTONE] + +CELIA No? when Nature hath made a fair creature, may she + not by Fortune fall into the fire? Though Nature + hath given us wit to flout at Fortune, hath not + Fortune sent in this fool to cut off the argument? + +ROSALIND Indeed, there is Fortune too hard for Nature, when + Fortune makes Nature's natural the cutter-off of + Nature's wit. + +CELIA Peradventure this is not Fortune's work neither, but + Nature's; who perceiveth our natural wits too dull + to reason of such goddesses and hath sent this + natural for our whetstone; for always the dulness of + the fool is the whetstone of the wits. How now, + wit! whither wander you? + +TOUCHSTONE Mistress, you must come away to your father. + +CELIA Were you made the messenger? + +TOUCHSTONE No, by mine honour, but I was bid to come for you. + +ROSALIND Where learned you that oath, fool? + +TOUCHSTONE Of a certain knight that swore by his honour they + were good pancakes and swore by his honour the + mustard was naught: now I'll stand to it, the + pancakes were naught and the mustard was good, and + yet was not the knight forsworn. + +CELIA How prove you that, in the great heap of your + knowledge? + +ROSALIND Ay, marry, now unmuzzle your wisdom. + +TOUCHSTONE Stand you both forth now: stroke your chins, and + swear by your beards that I am a knave. + +CELIA By our beards, if we had them, thou art. + +TOUCHSTONE By my knavery, if I had it, then I were; but if you + swear by that that is not, you are not forsworn: no + more was this knight swearing by his honour, for he + never had any; or if he had, he had sworn it away + before ever he saw those pancakes or that mustard. + +CELIA Prithee, who is't that thou meanest? + +TOUCHSTONE One that old Frederick, your father, loves. + +CELIA My father's love is enough to honour him: enough! + speak no more of him; you'll be whipped for taxation + one of these days. + +TOUCHSTONE The more pity, that fools may not speak wisely what + wise men do foolishly. + +CELIA By my troth, thou sayest true; for since the little + wit that fools have was silenced, the little foolery + that wise men have makes a great show. Here comes + Monsieur Le Beau. + +ROSALIND With his mouth full of news. + +CELIA Which he will put on us, as pigeons feed their young. + +ROSALIND Then shall we be news-crammed. + +CELIA All the better; we shall be the more marketable. + + [Enter LE BEAU] + + Bon jour, Monsieur Le Beau: what's the news? + +LE BEAU Fair princess, you have lost much good sport. + +CELIA Sport! of what colour? + +LE BEAU What colour, madam! how shall I answer you? + +ROSALIND As wit and fortune will. + +TOUCHSTONE Or as the Destinies decree. + +CELIA Well said: that was laid on with a trowel. + +TOUCHSTONE Nay, if I keep not my rank,-- + +ROSALIND Thou losest thy old smell. + +LE BEAU You amaze me, ladies: I would have told you of good + wrestling, which you have lost the sight of. + +ROSALIND You tell us the manner of the wrestling. + +LE BEAU I will tell you the beginning; and, if it please + your ladyships, you may see the end; for the best is + yet to do; and here, where you are, they are coming + to perform it. + +CELIA Well, the beginning, that is dead and buried. + +LE BEAU There comes an old man and his three sons,-- + +CELIA I could match this beginning with an old tale. + +LE BEAU Three proper young men, of excellent growth and presence. + +ROSALIND With bills on their necks, 'Be it known unto all men + by these presents.' + +LE BEAU The eldest of the three wrestled with Charles, the + duke's wrestler; which Charles in a moment threw him + and broke three of his ribs, that there is little + hope of life in him: so he served the second, and + so the third. Yonder they lie; the poor old man, + their father, making such pitiful dole over them + that all the beholders take his part with weeping. + +ROSALIND Alas! + +TOUCHSTONE But what is the sport, monsieur, that the ladies + have lost? + +LE BEAU Why, this that I speak of. + +TOUCHSTONE Thus men may grow wiser every day: it is the first + time that ever I heard breaking of ribs was sport + for ladies. + +CELIA Or I, I promise thee. + +ROSALIND But is there any else longs to see this broken music + in his sides? is there yet another dotes upon + rib-breaking? Shall we see this wrestling, cousin? + +LE BEAU You must, if you stay here; for here is the place + appointed for the wrestling, and they are ready to + perform it. + +CELIA Yonder, sure, they are coming: let us now stay and see it. + + [Flourish. Enter DUKE FREDERICK, Lords, ORLANDO, + CHARLES, and Attendants] + +DUKE FREDERICK Come on: since the youth will not be entreated, his + own peril on his forwardness. + +ROSALIND Is yonder the man? + +LE BEAU Even he, madam. + +CELIA Alas, he is too young! yet he looks successfully. + +DUKE FREDERICK How now, daughter and cousin! are you crept hither + to see the wrestling? + +ROSALIND Ay, my liege, so please you give us leave. + +DUKE FREDERICK You will take little delight in it, I can tell you; + there is such odds in the man. In pity of the + challenger's youth I would fain dissuade him, but he + will not be entreated. Speak to him, ladies; see if + you can move him. + +CELIA Call him hither, good Monsieur Le Beau. + +DUKE FREDERICK Do so: I'll not be by. + +LE BEAU Monsieur the challenger, the princesses call for you. + +ORLANDO I attend them with all respect and duty. + +ROSALIND Young man, have you challenged Charles the wrestler? + +ORLANDO No, fair princess; he is the general challenger: I + come but in, as others do, to try with him the + strength of my youth. + +CELIA Young gentleman, your spirits are too bold for your + years. You have seen cruel proof of this man's + strength: if you saw yourself with your eyes or + knew yourself with your judgment, the fear of your + adventure would counsel you to a more equal + enterprise. We pray you, for your own sake, to + embrace your own safety and give over this attempt. + +ROSALIND Do, young sir; your reputation shall not therefore + be misprised: we will make it our suit to the duke + that the wrestling might not go forward. + +ORLANDO I beseech you, punish me not with your hard + thoughts; wherein I confess me much guilty, to deny + so fair and excellent ladies any thing. But let + your fair eyes and gentle wishes go with me to my + trial: wherein if I be foiled, there is but one + shamed that was never gracious; if killed, but one + dead that was willing to be so: I shall do my + friends no wrong, for I have none to lament me, the + world no injury, for in it I have nothing; only in + the world I fill up a place, which may be better + supplied when I have made it empty. + +ROSALIND The little strength that I have, I would it were with you. + +CELIA And mine, to eke out hers. + +ROSALIND Fare you well: pray heaven I be deceived in you! + +CELIA Your heart's desires be with you! + +CHARLES Come, where is this young gallant that is so + desirous to lie with his mother earth? + +ORLANDO Ready, sir; but his will hath in it a more modest working. + +DUKE FREDERICK You shall try but one fall. + +CHARLES No, I warrant your grace, you shall not entreat him + to a second, that have so mightily persuaded him + from a first. + +ORLANDO An you mean to mock me after, you should not have + mocked me before: but come your ways. + +ROSALIND Now Hercules be thy speed, young man! + +CELIA I would I were invisible, to catch the strong + fellow by the leg. + + [They wrestle] + +ROSALIND O excellent young man! + +CELIA If I had a thunderbolt in mine eye, I can tell who + should down. + + [Shout. CHARLES is thrown] + +DUKE FREDERICK No more, no more. + +ORLANDO Yes, I beseech your grace: I am not yet well breathed. + +DUKE FREDERICK How dost thou, Charles? + +LE BEAU He cannot speak, my lord. + +DUKE FREDERICK Bear him away. What is thy name, young man? + +ORLANDO Orlando, my liege; the youngest son of Sir Rowland de Boys. + +DUKE FREDERICK I would thou hadst been son to some man else: + The world esteem'd thy father honourable, + But I did find him still mine enemy: + Thou shouldst have better pleased me with this deed, + Hadst thou descended from another house. + But fare thee well; thou art a gallant youth: + I would thou hadst told me of another father. + + [Exeunt DUKE FREDERICK, train, and LE BEAU] + +CELIA Were I my father, coz, would I do this? + +ORLANDO I am more proud to be Sir Rowland's son, + His youngest son; and would not change that calling, + To be adopted heir to Frederick. + +ROSALIND My father loved Sir Rowland as his soul, + And all the world was of my father's mind: + Had I before known this young man his son, + I should have given him tears unto entreaties, + Ere he should thus have ventured. + +CELIA Gentle cousin, + Let us go thank him and encourage him: + My father's rough and envious disposition + Sticks me at heart. Sir, you have well deserved: + If you do keep your promises in love + But justly, as you have exceeded all promise, + Your mistress shall be happy. + +ROSALIND Gentleman, + + [Giving him a chain from her neck] + + Wear this for me, one out of suits with fortune, + That could give more, but that her hand lacks means. + Shall we go, coz? + +CELIA Ay. Fare you well, fair gentleman. + +ORLANDO Can I not say, I thank you? My better parts + Are all thrown down, and that which here stands up + Is but a quintain, a mere lifeless block. + +ROSALIND He calls us back: my pride fell with my fortunes; + I'll ask him what he would. Did you call, sir? + Sir, you have wrestled well and overthrown + More than your enemies. + +CELIA Will you go, coz? + +ROSALIND Have with you. Fare you well. + + [Exeunt ROSALIND and CELIA] + +ORLANDO What passion hangs these weights upon my tongue? + I cannot speak to her, yet she urged conference. + O poor Orlando, thou art overthrown! + Or Charles or something weaker masters thee. + + [Re-enter LE BEAU] + +LE BEAU Good sir, I do in friendship counsel you + To leave this place. Albeit you have deserved + High commendation, true applause and love, + Yet such is now the duke's condition + That he misconstrues all that you have done. + The duke is humorous; what he is indeed, + More suits you to conceive than I to speak of. + +ORLANDO I thank you, sir: and, pray you, tell me this: + Which of the two was daughter of the duke + That here was at the wrestling? + +LE BEAU Neither his daughter, if we judge by manners; + But yet indeed the lesser is his daughter + The other is daughter to the banish'd duke, + And here detain'd by her usurping uncle, + To keep his daughter company; whose loves + Are dearer than the natural bond of sisters. + But I can tell you that of late this duke + Hath ta'en displeasure 'gainst his gentle niece, + Grounded upon no other argument + But that the people praise her for her virtues + And pity her for her good father's sake; + And, on my life, his malice 'gainst the lady + Will suddenly break forth. Sir, fare you well: + Hereafter, in a better world than this, + I shall desire more love and knowledge of you. + +ORLANDO I rest much bounden to you: fare you well. + + [Exit LE BEAU] + + Thus must I from the smoke into the smother; + From tyrant duke unto a tyrant brother: + But heavenly Rosalind! + + [Exit] + + + + + AS YOU LIKE IT + + +ACT I + + + +SCENE III A room in the palace. + + + [Enter CELIA and ROSALIND] + +CELIA Why, cousin! why, Rosalind! Cupid have mercy! not a word? + +ROSALIND Not one to throw at a dog. + +CELIA No, thy words are too precious to be cast away upon + curs; throw some of them at me; come, lame me with reasons. + +ROSALIND Then there were two cousins laid up; when the one + should be lamed with reasons and the other mad + without any. + +CELIA But is all this for your father? + +ROSALIND No, some of it is for my child's father. O, how + full of briers is this working-day world! + +CELIA They are but burs, cousin, thrown upon thee in + holiday foolery: if we walk not in the trodden + paths our very petticoats will catch them. + +ROSALIND I could shake them off my coat: these burs are in my heart. + +CELIA Hem them away. + +ROSALIND I would try, if I could cry 'hem' and have him. + +CELIA Come, come, wrestle with thy affections. + +ROSALIND O, they take the part of a better wrestler than myself! + +CELIA O, a good wish upon you! you will try in time, in + despite of a fall. But, turning these jests out of + service, let us talk in good earnest: is it + possible, on such a sudden, you should fall into so + strong a liking with old Sir Rowland's youngest son? + +ROSALIND The duke my father loved his father dearly. + +CELIA Doth it therefore ensue that you should love his son + dearly? By this kind of chase, I should hate him, + for my father hated his father dearly; yet I hate + not Orlando. + +ROSALIND No, faith, hate him not, for my sake. + +CELIA Why should I not? doth he not deserve well? + +ROSALIND Let me love him for that, and do you love him + because I do. Look, here comes the duke. + +CELIA With his eyes full of anger. + + [Enter DUKE FREDERICK, with Lords] + +DUKE FREDERICK Mistress, dispatch you with your safest haste + And get you from our court. + +ROSALIND Me, uncle? + +DUKE FREDERICK You, cousin + Within these ten days if that thou be'st found + So near our public court as twenty miles, + Thou diest for it. + +ROSALIND I do beseech your grace, + Let me the knowledge of my fault bear with me: + If with myself I hold intelligence + Or have acquaintance with mine own desires, + If that I do not dream or be not frantic,-- + As I do trust I am not--then, dear uncle, + Never so much as in a thought unborn + Did I offend your highness. + +DUKE FREDERICK Thus do all traitors: + If their purgation did consist in words, + They are as innocent as grace itself: + Let it suffice thee that I trust thee not. + +ROSALIND Yet your mistrust cannot make me a traitor: + Tell me whereon the likelihood depends. + +DUKE FREDERICK Thou art thy father's daughter; there's enough. + +ROSALIND So was I when your highness took his dukedom; + So was I when your highness banish'd him: + Treason is not inherited, my lord; + Or, if we did derive it from our friends, + What's that to me? my father was no traitor: + Then, good my liege, mistake me not so much + To think my poverty is treacherous. + +CELIA Dear sovereign, hear me speak. + +DUKE FREDERICK Ay, Celia; we stay'd her for your sake, + Else had she with her father ranged along. + +CELIA I did not then entreat to have her stay; + It was your pleasure and your own remorse: + I was too young that time to value her; + But now I know her: if she be a traitor, + Why so am I; we still have slept together, + Rose at an instant, learn'd, play'd, eat together, + And wheresoever we went, like Juno's swans, + Still we went coupled and inseparable. + +DUKE FREDERICK She is too subtle for thee; and her smoothness, + Her very silence and her patience + Speak to the people, and they pity her. + Thou art a fool: she robs thee of thy name; + And thou wilt show more bright and seem more virtuous + When she is gone. Then open not thy lips: + Firm and irrevocable is my doom + Which I have pass'd upon her; she is banish'd. + +CELIA Pronounce that sentence then on me, my liege: + I cannot live out of her company. + +DUKE FREDERICK You are a fool. You, niece, provide yourself: + If you outstay the time, upon mine honour, + And in the greatness of my word, you die. + + [Exeunt DUKE FREDERICK and Lords] + +CELIA O my poor Rosalind, whither wilt thou go? + Wilt thou change fathers? I will give thee mine. + I charge thee, be not thou more grieved than I am. + +ROSALIND I have more cause. + +CELIA Thou hast not, cousin; + Prithee be cheerful: know'st thou not, the duke + Hath banish'd me, his daughter? + +ROSALIND That he hath not. + +CELIA No, hath not? Rosalind lacks then the love + Which teacheth thee that thou and I am one: + Shall we be sunder'd? shall we part, sweet girl? + No: let my father seek another heir. + Therefore devise with me how we may fly, + Whither to go and what to bear with us; + And do not seek to take your change upon you, + To bear your griefs yourself and leave me out; + For, by this heaven, now at our sorrows pale, + Say what thou canst, I'll go along with thee. + +ROSALIND Why, whither shall we go? + +CELIA To seek my uncle in the forest of Arden. + +ROSALIND Alas, what danger will it be to us, + Maids as we are, to travel forth so far! + Beauty provoketh thieves sooner than gold. + +CELIA I'll put myself in poor and mean attire + And with a kind of umber smirch my face; + The like do you: so shall we pass along + And never stir assailants. + +ROSALIND Were it not better, + Because that I am more than common tall, + That I did suit me all points like a man? + A gallant curtle-axe upon my thigh, + A boar-spear in my hand; and--in my heart + Lie there what hidden woman's fear there will-- + We'll have a swashing and a martial outside, + As many other mannish cowards have + That do outface it with their semblances. + +CELIA What shall I call thee when thou art a man? + +ROSALIND I'll have no worse a name than Jove's own page; + And therefore look you call me Ganymede. + But what will you be call'd? + +CELIA Something that hath a reference to my state + No longer Celia, but Aliena. + +ROSALIND But, cousin, what if we assay'd to steal + The clownish fool out of your father's court? + Would he not be a comfort to our travel? + +CELIA He'll go along o'er the wide world with me; + Leave me alone to woo him. Let's away, + And get our jewels and our wealth together, + Devise the fittest time and safest way + To hide us from pursuit that will be made + After my flight. Now go we in content + To liberty and not to banishment. + + [Exeunt] + + + + + AS YOU LIKE IT + + +ACT II + + + +SCENE I The Forest of Arden. + + + [Enter DUKE SENIOR, AMIENS, and two or three Lords, + like foresters] + +DUKE SENIOR Now, my co-mates and brothers in exile, + Hath not old custom made this life more sweet + Than that of painted pomp? Are not these woods + More free from peril than the envious court? + Here feel we but the penalty of Adam, + The seasons' difference, as the icy fang + And churlish chiding of the winter's wind, + Which, when it bites and blows upon my body, + Even till I shrink with cold, I smile and say + 'This is no flattery: these are counsellors + That feelingly persuade me what I am.' + Sweet are the uses of adversity, + Which, like the toad, ugly and venomous, + Wears yet a precious jewel in his head; + And this our life exempt from public haunt + Finds tongues in trees, books in the running brooks, + Sermons in stones and good in every thing. + I would not change it. + +AMIENS Happy is your grace, + That can translate the stubbornness of fortune + Into so quiet and so sweet a style. + +DUKE SENIOR Come, shall we go and kill us venison? + And yet it irks me the poor dappled fools, + Being native burghers of this desert city, + Should in their own confines with forked heads + Have their round haunches gored. + +First Lord Indeed, my lord, + The melancholy Jaques grieves at that, + And, in that kind, swears you do more usurp + Than doth your brother that hath banish'd you. + To-day my Lord of Amiens and myself + Did steal behind him as he lay along + Under an oak whose antique root peeps out + Upon the brook that brawls along this wood: + To the which place a poor sequester'd stag, + That from the hunter's aim had ta'en a hurt, + Did come to languish, and indeed, my lord, + The wretched animal heaved forth such groans + That their discharge did stretch his leathern coat + Almost to bursting, and the big round tears + Coursed one another down his innocent nose + In piteous chase; and thus the hairy fool + Much marked of the melancholy Jaques, + Stood on the extremest verge of the swift brook, + Augmenting it with tears. + +DUKE SENIOR But what said Jaques? + Did he not moralize this spectacle? + +First Lord O, yes, into a thousand similes. + First, for his weeping into the needless stream; + 'Poor deer,' quoth he, 'thou makest a testament + As worldlings do, giving thy sum of more + To that which had too much:' then, being there alone, + Left and abandon'd of his velvet friends, + ''Tis right:' quoth he; 'thus misery doth part + The flux of company:' anon a careless herd, + Full of the pasture, jumps along by him + And never stays to greet him; 'Ay' quoth Jaques, + 'Sweep on, you fat and greasy citizens; + 'Tis just the fashion: wherefore do you look + Upon that poor and broken bankrupt there?' + Thus most invectively he pierceth through + The body of the country, city, court, + Yea, and of this our life, swearing that we + Are mere usurpers, tyrants and what's worse, + To fright the animals and to kill them up + In their assign'd and native dwelling-place. + +DUKE SENIOR And did you leave him in this contemplation? + +Second Lord We did, my lord, weeping and commenting + Upon the sobbing deer. + +DUKE SENIOR Show me the place: + I love to cope him in these sullen fits, + For then he's full of matter. + +First Lord I'll bring you to him straight. + + [Exeunt] + + + + + AS YOU LIKE IT + + +ACT II + + + +SCENE II A room in the palace. + + + [Enter DUKE FREDERICK, with Lords] + +DUKE FREDERICK Can it be possible that no man saw them? + It cannot be: some villains of my court + Are of consent and sufferance in this. + +First Lord I cannot hear of any that did see her. + The ladies, her attendants of her chamber, + Saw her abed, and in the morning early + They found the bed untreasured of their mistress. + +Second Lord My lord, the roynish clown, at whom so oft + Your grace was wont to laugh, is also missing. + Hisperia, the princess' gentlewoman, + Confesses that she secretly o'erheard + Your daughter and her cousin much commend + The parts and graces of the wrestler + That did but lately foil the sinewy Charles; + And she believes, wherever they are gone, + That youth is surely in their company. + +DUKE FREDERICK Send to his brother; fetch that gallant hither; + If he be absent, bring his brother to me; + I'll make him find him: do this suddenly, + And let not search and inquisition quail + To bring again these foolish runaways. + + [Exeunt] + + + + + AS YOU LIKE IT + + +ACT II + + + +SCENE III Before OLIVER'S house. + + + [Enter ORLANDO and ADAM, meeting] + +ORLANDO Who's there? + +ADAM What, my young master? O, my gentle master! + O my sweet master! O you memory + Of old Sir Rowland! why, what make you here? + Why are you virtuous? why do people love you? + And wherefore are you gentle, strong and valiant? + Why would you be so fond to overcome + The bonny priser of the humorous duke? + Your praise is come too swiftly home before you. + Know you not, master, to some kind of men + Their graces serve them but as enemies? + No more do yours: your virtues, gentle master, + Are sanctified and holy traitors to you. + O, what a world is this, when what is comely + Envenoms him that bears it! + +ORLANDO Why, what's the matter? + +ADAM O unhappy youth! + Come not within these doors; within this roof + The enemy of all your graces lives: + Your brother--no, no brother; yet the son-- + Yet not the son, I will not call him son + Of him I was about to call his father-- + Hath heard your praises, and this night he means + To burn the lodging where you use to lie + And you within it: if he fail of that, + He will have other means to cut you off. + I overheard him and his practises. + This is no place; this house is but a butchery: + Abhor it, fear it, do not enter it. + +ORLANDO Why, whither, Adam, wouldst thou have me go? + +ADAM No matter whither, so you come not here. + +ORLANDO What, wouldst thou have me go and beg my food? + Or with a base and boisterous sword enforce + A thievish living on the common road? + This I must do, or know not what to do: + Yet this I will not do, do how I can; + I rather will subject me to the malice + Of a diverted blood and bloody brother. + +ADAM But do not so. I have five hundred crowns, + The thrifty hire I saved under your father, + Which I did store to be my foster-nurse + When service should in my old limbs lie lame + And unregarded age in corners thrown: + Take that, and He that doth the ravens feed, + Yea, providently caters for the sparrow, + Be comfort to my age! Here is the gold; + And all this I give you. Let me be your servant: + Though I look old, yet I am strong and lusty; + For in my youth I never did apply + Hot and rebellious liquors in my blood, + Nor did not with unbashful forehead woo + The means of weakness and debility; + Therefore my age is as a lusty winter, + Frosty, but kindly: let me go with you; + I'll do the service of a younger man + In all your business and necessities. + +ORLANDO O good old man, how well in thee appears + The constant service of the antique world, + When service sweat for duty, not for meed! + Thou art not for the fashion of these times, + Where none will sweat but for promotion, + And having that, do choke their service up + Even with the having: it is not so with thee. + But, poor old man, thou prunest a rotten tree, + That cannot so much as a blossom yield + In lieu of all thy pains and husbandry + But come thy ways; well go along together, + And ere we have thy youthful wages spent, + We'll light upon some settled low content. + +ADAM Master, go on, and I will follow thee, + To the last gasp, with truth and loyalty. + From seventeen years till now almost fourscore + Here lived I, but now live here no more. + At seventeen years many their fortunes seek; + But at fourscore it is too late a week: + Yet fortune cannot recompense me better + Than to die well and not my master's debtor. + + [Exeunt] + + + + + AS YOU LIKE IT + + +ACT II + + + +SCENE IV The Forest of Arden. + + + [Enter ROSALIND for Ganymede, CELIA for Aliena, + and TOUCHSTONE] + +ROSALIND O Jupiter, how weary are my spirits! + +TOUCHSTONE I care not for my spirits, if my legs were not weary. + +ROSALIND I could find in my heart to disgrace my man's + apparel and to cry like a woman; but I must comfort + the weaker vessel, as doublet and hose ought to show + itself courageous to petticoat: therefore courage, + good Aliena! + +CELIA I pray you, bear with me; I cannot go no further. + +TOUCHSTONE For my part, I had rather bear with you than bear + you; yet I should bear no cross if I did bear you, + for I think you have no money in your purse. + +ROSALIND Well, this is the forest of Arden. + +TOUCHSTONE Ay, now am I in Arden; the more fool I; when I was + at home, I was in a better place: but travellers + must be content. + +ROSALIND Ay, be so, good Touchstone. + + [Enter CORIN and SILVIUS] + + Look you, who comes here; a young man and an old in + solemn talk. + +CORIN That is the way to make her scorn you still. + +SILVIUS O Corin, that thou knew'st how I do love her! + +CORIN I partly guess; for I have loved ere now. + +SILVIUS No, Corin, being old, thou canst not guess, + Though in thy youth thou wast as true a lover + As ever sigh'd upon a midnight pillow: + But if thy love were ever like to mine-- + As sure I think did never man love so-- + How many actions most ridiculous + Hast thou been drawn to by thy fantasy? + +CORIN Into a thousand that I have forgotten. + +SILVIUS O, thou didst then ne'er love so heartily! + If thou remember'st not the slightest folly + That ever love did make thee run into, + Thou hast not loved: + Or if thou hast not sat as I do now, + Wearying thy hearer in thy mistress' praise, + Thou hast not loved: + Or if thou hast not broke from company + Abruptly, as my passion now makes me, + Thou hast not loved. + O Phebe, Phebe, Phebe! + + [Exit] + +ROSALIND Alas, poor shepherd! searching of thy wound, + I have by hard adventure found mine own. + +TOUCHSTONE And I mine. I remember, when I was in love I broke + my sword upon a stone and bid him take that for + coming a-night to Jane Smile; and I remember the + kissing of her batlet and the cow's dugs that her + pretty chopt hands had milked; and I remember the + wooing of a peascod instead of her, from whom I took + two cods and, giving her them again, said with + weeping tears 'Wear these for my sake.' We that are + true lovers run into strange capers; but as all is + mortal in nature, so is all nature in love mortal in folly. + +ROSALIND Thou speakest wiser than thou art ware of. + +TOUCHSTONE Nay, I shall ne'er be ware of mine own wit till I + break my shins against it. + +ROSALIND Jove, Jove! this shepherd's passion + Is much upon my fashion. + +TOUCHSTONE And mine; but it grows something stale with me. + +CELIA I pray you, one of you question yond man + If he for gold will give us any food: + I faint almost to death. + +TOUCHSTONE Holla, you clown! + +ROSALIND Peace, fool: he's not thy kinsman. + +CORIN Who calls? + +TOUCHSTONE Your betters, sir. + +CORIN Else are they very wretched. + +ROSALIND Peace, I say. Good even to you, friend. + +CORIN And to you, gentle sir, and to you all. + +ROSALIND I prithee, shepherd, if that love or gold + Can in this desert place buy entertainment, + Bring us where we may rest ourselves and feed: + Here's a young maid with travel much oppress'd + And faints for succor. + +CORIN Fair sir, I pity her + And wish, for her sake more than for mine own, + My fortunes were more able to relieve her; + But I am shepherd to another man + And do not shear the fleeces that I graze: + My master is of churlish disposition + And little recks to find the way to heaven + By doing deeds of hospitality: + Besides, his cote, his flocks and bounds of feed + Are now on sale, and at our sheepcote now, + By reason of his absence, there is nothing + That you will feed on; but what is, come see. + And in my voice most welcome shall you be. + +ROSALIND What is he that shall buy his flock and pasture? + +CORIN That young swain that you saw here but erewhile, + That little cares for buying any thing. + +ROSALIND I pray thee, if it stand with honesty, + Buy thou the cottage, pasture and the flock, + And thou shalt have to pay for it of us. + +CELIA And we will mend thy wages. I like this place. + And willingly could waste my time in it. + +CORIN Assuredly the thing is to be sold: + Go with me: if you like upon report + The soil, the profit and this kind of life, + I will your very faithful feeder be + And buy it with your gold right suddenly. + + [Exeunt] + + + + + AS YOU LIKE IT + + +ACT II + + + +SCENE V The Forest. + + + [Enter AMIENS, JAQUES, and others] + + SONG. +AMIENS Under the greenwood tree + Who loves to lie with me, + And turn his merry note + Unto the sweet bird's throat, + Come hither, come hither, come hither: + Here shall he see No enemy + But winter and rough weather. + +JAQUES More, more, I prithee, more. + +AMIENS It will make you melancholy, Monsieur Jaques. + +JAQUES I thank it. More, I prithee, more. I can suck + melancholy out of a song, as a weasel sucks eggs. + More, I prithee, more. + +AMIENS My voice is ragged: I know I cannot please you. + +JAQUES I do not desire you to please me; I do desire you to + sing. Come, more; another stanzo: call you 'em stanzos? + +AMIENS What you will, Monsieur Jaques. + +JAQUES Nay, I care not for their names; they owe me + nothing. Will you sing? + +AMIENS More at your request than to please myself. + +JAQUES Well then, if ever I thank any man, I'll thank you; + but that they call compliment is like the encounter + of two dog-apes, and when a man thanks me heartily, + methinks I have given him a penny and he renders me + the beggarly thanks. Come, sing; and you that will + not, hold your tongues. + +AMIENS Well, I'll end the song. Sirs, cover the while; the + duke will drink under this tree. He hath been all + this day to look you. + +JAQUES And I have been all this day to avoid him. He is + too disputable for my company: I think of as many + matters as he, but I give heaven thanks and make no + boast of them. Come, warble, come. + + SONG. + Who doth ambition shun + + [All together here] + + And loves to live i' the sun, + Seeking the food he eats + And pleased with what he gets, + Come hither, come hither, come hither: + Here shall he see No enemy + But winter and rough weather. + +JAQUES I'll give you a verse to this note that I made + yesterday in despite of my invention. + +AMIENS And I'll sing it. + +JAQUES Thus it goes:-- + + If it do come to pass + That any man turn ass, + Leaving his wealth and ease, + A stubborn will to please, + Ducdame, ducdame, ducdame: + Here shall he see + Gross fools as he, + An if he will come to me. + +AMIENS What's that 'ducdame'? + +JAQUES 'Tis a Greek invocation, to call fools into a + circle. I'll go sleep, if I can; if I cannot, I'll + rail against all the first-born of Egypt. + +AMIENS And I'll go seek the duke: his banquet is prepared. + + [Exeunt severally] + + + + + AS YOU LIKE IT + + +ACT II + + + +SCENE VI The forest. + + + [Enter ORLANDO and ADAM] + +ADAM Dear master, I can go no further. O, I die for food! + Here lie I down, and measure out my grave. Farewell, + kind master. + +ORLANDO Why, how now, Adam! no greater heart in thee? Live + a little; comfort a little; cheer thyself a little. + If this uncouth forest yield any thing savage, I + will either be food for it or bring it for food to + thee. Thy conceit is nearer death than thy powers. + For my sake be comfortable; hold death awhile at + the arm's end: I will here be with thee presently; + and if I bring thee not something to eat, I will + give thee leave to die: but if thou diest before I + come, thou art a mocker of my labour. Well said! + thou lookest cheerly, and I'll be with thee quickly. + Yet thou liest in the bleak air: come, I will bear + thee to some shelter; and thou shalt not die for + lack of a dinner, if there live any thing in this + desert. Cheerly, good Adam! + + [Exeunt] + + + + + AS YOU LIKE IT + + +ACT II + + + +SCENE VII The forest. + + + [A table set out. Enter DUKE SENIOR, AMIENS, and + Lords like outlaws] + +DUKE SENIOR I think he be transform'd into a beast; + For I can no where find him like a man. + +First Lord My lord, he is but even now gone hence: + Here was he merry, hearing of a song. + +DUKE SENIOR If he, compact of jars, grow musical, + We shall have shortly discord in the spheres. + Go, seek him: tell him I would speak with him. + + [Enter JAQUES] + +First Lord He saves my labour by his own approach. + +DUKE SENIOR Why, how now, monsieur! what a life is this, + That your poor friends must woo your company? + What, you look merrily! + +JAQUES A fool, a fool! I met a fool i' the forest, + A motley fool; a miserable world! + As I do live by food, I met a fool + Who laid him down and bask'd him in the sun, + And rail'd on Lady Fortune in good terms, + In good set terms and yet a motley fool. + 'Good morrow, fool,' quoth I. 'No, sir,' quoth he, + 'Call me not fool till heaven hath sent me fortune:' + And then he drew a dial from his poke, + And, looking on it with lack-lustre eye, + Says very wisely, 'It is ten o'clock: + Thus we may see,' quoth he, 'how the world wags: + 'Tis but an hour ago since it was nine, + And after one hour more 'twill be eleven; + And so, from hour to hour, we ripe and ripe, + And then, from hour to hour, we rot and rot; + And thereby hangs a tale.' When I did hear + The motley fool thus moral on the time, + My lungs began to crow like chanticleer, + That fools should be so deep-contemplative, + And I did laugh sans intermission + An hour by his dial. O noble fool! + A worthy fool! Motley's the only wear. + +DUKE SENIOR What fool is this? + +JAQUES O worthy fool! One that hath been a courtier, + And says, if ladies be but young and fair, + They have the gift to know it: and in his brain, + Which is as dry as the remainder biscuit + After a voyage, he hath strange places cramm'd + With observation, the which he vents + In mangled forms. O that I were a fool! + I am ambitious for a motley coat. + +DUKE SENIOR Thou shalt have one. + +JAQUES It is my only suit; + Provided that you weed your better judgments + Of all opinion that grows rank in them + That I am wise. I must have liberty + Withal, as large a charter as the wind, + To blow on whom I please; for so fools have; + And they that are most galled with my folly, + They most must laugh. And why, sir, must they so? + The 'why' is plain as way to parish church: + He that a fool doth very wisely hit + Doth very foolishly, although he smart, + Not to seem senseless of the bob: if not, + The wise man's folly is anatomized + Even by the squandering glances of the fool. + Invest me in my motley; give me leave + To speak my mind, and I will through and through + Cleanse the foul body of the infected world, + If they will patiently receive my medicine. + +DUKE SENIOR Fie on thee! I can tell what thou wouldst do. + +JAQUES What, for a counter, would I do but good? + +DUKE SENIOR Most mischievous foul sin, in chiding sin: + For thou thyself hast been a libertine, + As sensual as the brutish sting itself; + And all the embossed sores and headed evils, + That thou with licence of free foot hast caught, + Wouldst thou disgorge into the general world. + +JAQUES Why, who cries out on pride, + That can therein tax any private party? + Doth it not flow as hugely as the sea, + Till that the weary very means do ebb? + What woman in the city do I name, + When that I say the city-woman bears + The cost of princes on unworthy shoulders? + Who can come in and say that I mean her, + When such a one as she such is her neighbour? + Or what is he of basest function + That says his bravery is not of my cost, + Thinking that I mean him, but therein suits + His folly to the mettle of my speech? + There then; how then? what then? Let me see wherein + My tongue hath wrong'd him: if it do him right, + Then he hath wrong'd himself; if he be free, + Why then my taxing like a wild-goose flies, + Unclaim'd of any man. But who comes here? + + [Enter ORLANDO, with his sword drawn] + +ORLANDO Forbear, and eat no more. + +JAQUES Why, I have eat none yet. + +ORLANDO Nor shalt not, till necessity be served. + +JAQUES Of what kind should this cock come of? + +DUKE SENIOR Art thou thus bolden'd, man, by thy distress, + Or else a rude despiser of good manners, + That in civility thou seem'st so empty? + +ORLANDO You touch'd my vein at first: the thorny point + Of bare distress hath ta'en from me the show + Of smooth civility: yet am I inland bred + And know some nurture. But forbear, I say: + He dies that touches any of this fruit + Till I and my affairs are answered. + +JAQUES An you will not be answered with reason, I must die. + +DUKE SENIOR What would you have? Your gentleness shall force + More than your force move us to gentleness. + +ORLANDO I almost die for food; and let me have it. + +DUKE SENIOR Sit down and feed, and welcome to our table. + +ORLANDO Speak you so gently? Pardon me, I pray you: + I thought that all things had been savage here; + And therefore put I on the countenance + Of stern commandment. But whate'er you are + That in this desert inaccessible, + Under the shade of melancholy boughs, + Lose and neglect the creeping hours of time + If ever you have look'd on better days, + If ever been where bells have knoll'd to church, + If ever sat at any good man's feast, + If ever from your eyelids wiped a tear + And know what 'tis to pity and be pitied, + Let gentleness my strong enforcement be: + In the which hope I blush, and hide my sword. + +DUKE SENIOR True is it that we have seen better days, + And have with holy bell been knoll'd to church + And sat at good men's feasts and wiped our eyes + Of drops that sacred pity hath engender'd: + And therefore sit you down in gentleness + And take upon command what help we have + That to your wanting may be minister'd. + +ORLANDO Then but forbear your food a little while, + Whiles, like a doe, I go to find my fawn + And give it food. There is an old poor man, + Who after me hath many a weary step + Limp'd in pure love: till he be first sufficed, + Oppress'd with two weak evils, age and hunger, + I will not touch a bit. + +DUKE SENIOR Go find him out, + And we will nothing waste till you return. + +ORLANDO I thank ye; and be blest for your good comfort! + + [Exit] + +DUKE SENIOR Thou seest we are not all alone unhappy: + This wide and universal theatre + Presents more woeful pageants than the scene + Wherein we play in. + +JAQUES All the world's a stage, + And all the men and women merely players: + They have their exits and their entrances; + And one man in his time plays many parts, + His acts being seven ages. At first the infant, + Mewling and puking in the nurse's arms. + And then the whining school-boy, with his satchel + And shining morning face, creeping like snail + Unwillingly to school. And then the lover, + Sighing like furnace, with a woeful ballad + Made to his mistress' eyebrow. Then a soldier, + Full of strange oaths and bearded like the pard, + Jealous in honour, sudden and quick in quarrel, + Seeking the bubble reputation + Even in the cannon's mouth. And then the justice, + In fair round belly with good capon lined, + With eyes severe and beard of formal cut, + Full of wise saws and modern instances; + And so he plays his part. The sixth age shifts + Into the lean and slipper'd pantaloon, + With spectacles on nose and pouch on side, + His youthful hose, well saved, a world too wide + For his shrunk shank; and his big manly voice, + Turning again toward childish treble, pipes + And whistles in his sound. Last scene of all, + That ends this strange eventful history, + Is second childishness and mere oblivion, + Sans teeth, sans eyes, sans taste, sans everything. + + [Re-enter ORLANDO, with ADAM] + +DUKE SENIOR Welcome. Set down your venerable burthen, + And let him feed. + +ORLANDO I thank you most for him. + +ADAM So had you need: + I scarce can speak to thank you for myself. + +DUKE SENIOR Welcome; fall to: I will not trouble you + As yet, to question you about your fortunes. + Give us some music; and, good cousin, sing. + + SONG. +AMIENS Blow, blow, thou winter wind. + Thou art not so unkind + As man's ingratitude; + Thy tooth is not so keen, + Because thou art not seen, + Although thy breath be rude. + Heigh-ho! sing, heigh-ho! unto the green holly: + Most friendship is feigning, most loving mere folly: + Then, heigh-ho, the holly! + This life is most jolly. + Freeze, freeze, thou bitter sky, + That dost not bite so nigh + As benefits forgot: + Though thou the waters warp, + Thy sting is not so sharp + As friend remember'd not. + Heigh-ho! sing, &c. + +DUKE SENIOR If that you were the good Sir Rowland's son, + As you have whisper'd faithfully you were, + And as mine eye doth his effigies witness + Most truly limn'd and living in your face, + Be truly welcome hither: I am the duke + That loved your father: the residue of your fortune, + Go to my cave and tell me. Good old man, + Thou art right welcome as thy master is. + Support him by the arm. Give me your hand, + And let me all your fortunes understand. + + [Exeunt] + + + + + AS YOU LIKE IT + + +ACT III + + + +SCENE I A room in the palace. + + + [Enter DUKE FREDERICK, Lords, and OLIVER] + +DUKE FREDERICK Not see him since? Sir, sir, that cannot be: + But were I not the better part made mercy, + I should not seek an absent argument + Of my revenge, thou present. But look to it: + Find out thy brother, wheresoe'er he is; + Seek him with candle; bring him dead or living + Within this twelvemonth, or turn thou no more + To seek a living in our territory. + Thy lands and all things that thou dost call thine + Worth seizure do we seize into our hands, + Till thou canst quit thee by thy brothers mouth + Of what we think against thee. + +OLIVER O that your highness knew my heart in this! + I never loved my brother in my life. + +DUKE FREDERICK More villain thou. Well, push him out of doors; + And let my officers of such a nature + Make an extent upon his house and lands: + Do this expediently and turn him going. + + [Exeunt] + + + + + AS YOU LIKE IT + + +ACT III + + + +SCENE II The forest. + + + [Enter ORLANDO, with a paper] + +ORLANDO Hang there, my verse, in witness of my love: + And thou, thrice-crowned queen of night, survey + With thy chaste eye, from thy pale sphere above, + Thy huntress' name that my full life doth sway. + O Rosalind! these trees shall be my books + And in their barks my thoughts I'll character; + That every eye which in this forest looks + Shall see thy virtue witness'd every where. + Run, run, Orlando; carve on every tree + The fair, the chaste and unexpressive she. + + [Exit] + + [Enter CORIN and TOUCHSTONE] + +CORIN And how like you this shepherd's life, Master Touchstone? + +TOUCHSTONE Truly, shepherd, in respect of itself, it is a good + life, but in respect that it is a shepherd's life, + it is naught. In respect that it is solitary, I + like it very well; but in respect that it is + private, it is a very vile life. Now, in respect it + is in the fields, it pleaseth me well; but in + respect it is not in the court, it is tedious. As + is it a spare life, look you, it fits my humour well; + but as there is no more plenty in it, it goes much + against my stomach. Hast any philosophy in thee, shepherd? + +CORIN No more but that I know the more one sickens the + worse at ease he is; and that he that wants money, + means and content is without three good friends; + that the property of rain is to wet and fire to + burn; that good pasture makes fat sheep, and that a + great cause of the night is lack of the sun; that + he that hath learned no wit by nature nor art may + complain of good breeding or comes of a very dull kindred. + +TOUCHSTONE Such a one is a natural philosopher. Wast ever in + court, shepherd? + +CORIN No, truly. + +TOUCHSTONE Then thou art damned. + +CORIN Nay, I hope. + +TOUCHSTONE Truly, thou art damned like an ill-roasted egg, all + on one side. + +CORIN For not being at court? Your reason. + +TOUCHSTONE Why, if thou never wast at court, thou never sawest + good manners; if thou never sawest good manners, + then thy manners must be wicked; and wickedness is + sin, and sin is damnation. Thou art in a parlous + state, shepherd. + +CORIN Not a whit, Touchstone: those that are good manners + at the court are as ridiculous in the country as the + behavior of the country is most mockable at the + court. You told me you salute not at the court, but + you kiss your hands: that courtesy would be + uncleanly, if courtiers were shepherds. + +TOUCHSTONE Instance, briefly; come, instance. + +CORIN Why, we are still handling our ewes, and their + fells, you know, are greasy. + +TOUCHSTONE Why, do not your courtier's hands sweat? and is not + the grease of a mutton as wholesome as the sweat of + a man? Shallow, shallow. A better instance, I say; come. + +CORIN Besides, our hands are hard. + +TOUCHSTONE Your lips will feel them the sooner. Shallow again. + A more sounder instance, come. + +CORIN And they are often tarred over with the surgery of + our sheep: and would you have us kiss tar? The + courtier's hands are perfumed with civet. + +TOUCHSTONE Most shallow man! thou worms-meat, in respect of a + good piece of flesh indeed! Learn of the wise, and + perpend: civet is of a baser birth than tar, the + very uncleanly flux of a cat. Mend the instance, shepherd. + +CORIN You have too courtly a wit for me: I'll rest. + +TOUCHSTONE Wilt thou rest damned? God help thee, shallow man! + God make incision in thee! thou art raw. + +CORIN Sir, I am a true labourer: I earn that I eat, get + that I wear, owe no man hate, envy no man's + happiness, glad of other men's good, content with my + harm, and the greatest of my pride is to see my ewes + graze and my lambs suck. + +TOUCHSTONE That is another simple sin in you, to bring the ewes + and the rams together and to offer to get your + living by the copulation of cattle; to be bawd to a + bell-wether, and to betray a she-lamb of a + twelvemonth to a crooked-pated, old, cuckoldly ram, + out of all reasonable match. If thou beest not + damned for this, the devil himself will have no + shepherds; I cannot see else how thou shouldst + 'scape. + +CORIN Here comes young Master Ganymede, my new mistress's brother. + + [Enter ROSALIND, with a paper, reading] + +ROSALIND From the east to western Ind, + No jewel is like Rosalind. + Her worth, being mounted on the wind, + Through all the world bears Rosalind. + All the pictures fairest lined + Are but black to Rosalind. + Let no fair be kept in mind + But the fair of Rosalind. + +TOUCHSTONE I'll rhyme you so eight years together, dinners and + suppers and sleeping-hours excepted: it is the + right butter-women's rank to market. + +ROSALIND Out, fool! + +TOUCHSTONE For a taste: + If a hart do lack a hind, + Let him seek out Rosalind. + If the cat will after kind, + So be sure will Rosalind. + Winter garments must be lined, + So must slender Rosalind. + They that reap must sheaf and bind; + Then to cart with Rosalind. + Sweetest nut hath sourest rind, + Such a nut is Rosalind. + He that sweetest rose will find + Must find love's prick and Rosalind. + This is the very false gallop of verses: why do you + infect yourself with them? + +ROSALIND Peace, you dull fool! I found them on a tree. + +TOUCHSTONE Truly, the tree yields bad fruit. + +ROSALIND I'll graff it with you, and then I shall graff it + with a medlar: then it will be the earliest fruit + i' the country; for you'll be rotten ere you be half + ripe, and that's the right virtue of the medlar. + +TOUCHSTONE You have said; but whether wisely or no, let the + forest judge. + + [Enter CELIA, with a writing] + +ROSALIND Peace! Here comes my sister, reading: stand aside. + +CELIA [Reads] + + Why should this a desert be? + For it is unpeopled? No: + Tongues I'll hang on every tree, + That shall civil sayings show: + Some, how brief the life of man + Runs his erring pilgrimage, + That the stretching of a span + Buckles in his sum of age; + Some, of violated vows + 'Twixt the souls of friend and friend: + But upon the fairest boughs, + Or at every sentence end, + Will I Rosalinda write, + Teaching all that read to know + The quintessence of every sprite + Heaven would in little show. + Therefore Heaven Nature charged + That one body should be fill'd + With all graces wide-enlarged: + Nature presently distill'd + Helen's cheek, but not her heart, + Cleopatra's majesty, + Atalanta's better part, + Sad Lucretia's modesty. + Thus Rosalind of many parts + By heavenly synod was devised, + Of many faces, eyes and hearts, + To have the touches dearest prized. + Heaven would that she these gifts should have, + And I to live and die her slave. + +ROSALIND O most gentle pulpiter! what tedious homily of love + have you wearied your parishioners withal, and never + cried 'Have patience, good people!' + +CELIA How now! back, friends! Shepherd, go off a little. + Go with him, sirrah. + +TOUCHSTONE Come, shepherd, let us make an honourable retreat; + though not with bag and baggage, yet with scrip and scrippage. + + [Exeunt CORIN and TOUCHSTONE] + +CELIA Didst thou hear these verses? + +ROSALIND O, yes, I heard them all, and more too; for some of + them had in them more feet than the verses would bear. + +CELIA That's no matter: the feet might bear the verses. + +ROSALIND Ay, but the feet were lame and could not bear + themselves without the verse and therefore stood + lamely in the verse. + +CELIA But didst thou hear without wondering how thy name + should be hanged and carved upon these trees? + +ROSALIND I was seven of the nine days out of the wonder + before you came; for look here what I found on a + palm-tree. I was never so be-rhymed since + Pythagoras' time, that I was an Irish rat, which I + can hardly remember. + +CELIA Trow you who hath done this? + +ROSALIND Is it a man? + +CELIA And a chain, that you once wore, about his neck. + Change you colour? + +ROSALIND I prithee, who? + +CELIA O Lord, Lord! it is a hard matter for friends to + meet; but mountains may be removed with earthquakes + and so encounter. + +ROSALIND Nay, but who is it? + +CELIA Is it possible? + +ROSALIND Nay, I prithee now with most petitionary vehemence, + tell me who it is. + +CELIA O wonderful, wonderful, and most wonderful + wonderful! and yet again wonderful, and after that, + out of all hooping! + +ROSALIND Good my complexion! dost thou think, though I am + caparisoned like a man, I have a doublet and hose in + my disposition? One inch of delay more is a + South-sea of discovery; I prithee, tell me who is it + quickly, and speak apace. I would thou couldst + stammer, that thou mightst pour this concealed man + out of thy mouth, as wine comes out of a narrow- + mouthed bottle, either too much at once, or none at + all. I prithee, take the cork out of thy mouth that + may drink thy tidings. + +CELIA So you may put a man in your belly. + +ROSALIND Is he of God's making? What manner of man? Is his + head worth a hat, or his chin worth a beard? + +CELIA Nay, he hath but a little beard. + +ROSALIND Why, God will send more, if the man will be + thankful: let me stay the growth of his beard, if + thou delay me not the knowledge of his chin. + +CELIA It is young Orlando, that tripped up the wrestler's + heels and your heart both in an instant. + +ROSALIND Nay, but the devil take mocking: speak, sad brow and + true maid. + +CELIA I' faith, coz, 'tis he. + +ROSALIND Orlando? + +CELIA Orlando. + +ROSALIND Alas the day! what shall I do with my doublet and + hose? What did he when thou sawest him? What said + he? How looked he? Wherein went he? What makes + him here? Did he ask for me? Where remains he? + How parted he with thee? and when shalt thou see + him again? Answer me in one word. + +CELIA You must borrow me Gargantua's mouth first: 'tis a + word too great for any mouth of this age's size. To + say ay and no to these particulars is more than to + answer in a catechism. + +ROSALIND But doth he know that I am in this forest and in + man's apparel? Looks he as freshly as he did the + day he wrestled? + +CELIA It is as easy to count atomies as to resolve the + propositions of a lover; but take a taste of my + finding him, and relish it with good observance. + I found him under a tree, like a dropped acorn. + +ROSALIND It may well be called Jove's tree, when it drops + forth such fruit. + +CELIA Give me audience, good madam. + +ROSALIND Proceed. + +CELIA There lay he, stretched along, like a wounded knight. + +ROSALIND Though it be pity to see such a sight, it well + becomes the ground. + +CELIA Cry 'holla' to thy tongue, I prithee; it curvets + unseasonably. He was furnished like a hunter. + +ROSALIND O, ominous! he comes to kill my heart. + +CELIA I would sing my song without a burden: thou bringest + me out of tune. + +ROSALIND Do you not know I am a woman? when I think, I must + speak. Sweet, say on. + +CELIA You bring me out. Soft! comes he not here? + + [Enter ORLANDO and JAQUES] + +ROSALIND 'Tis he: slink by, and note him. + +JAQUES I thank you for your company; but, good faith, I had + as lief have been myself alone. + +ORLANDO And so had I; but yet, for fashion sake, I thank you + too for your society. + +JAQUES God be wi' you: let's meet as little as we can. + +ORLANDO I do desire we may be better strangers. + +JAQUES I pray you, mar no more trees with writing + love-songs in their barks. + +ORLANDO I pray you, mar no more of my verses with reading + them ill-favouredly. + +JAQUES Rosalind is your love's name? + +ORLANDO Yes, just. + +JAQUES I do not like her name. + +ORLANDO There was no thought of pleasing you when she was + christened. + +JAQUES What stature is she of? + +ORLANDO Just as high as my heart. + +JAQUES You are full of pretty answers. Have you not been + acquainted with goldsmiths' wives, and conned them + out of rings? + +ORLANDO Not so; but I answer you right painted cloth, from + whence you have studied your questions. + +JAQUES You have a nimble wit: I think 'twas made of + Atalanta's heels. Will you sit down with me? and + we two will rail against our mistress the world and + all our misery. + +ORLANDO I will chide no breather in the world but myself, + against whom I know most faults. + +JAQUES The worst fault you have is to be in love. + +ORLANDO 'Tis a fault I will not change for your best virtue. + I am weary of you. + +JAQUES By my troth, I was seeking for a fool when I found + you. + +ORLANDO He is drowned in the brook: look but in, and you + shall see him. + +JAQUES There I shall see mine own figure. + +ORLANDO Which I take to be either a fool or a cipher. + +JAQUES I'll tarry no longer with you: farewell, good + Signior Love. + +ORLANDO I am glad of your departure: adieu, good Monsieur + Melancholy. + + [Exit JAQUES] + +ROSALIND [Aside to CELIA] I will speak to him, like a saucy + lackey and under that habit play the knave with him. + Do you hear, forester? + +ORLANDO Very well: what would you? + +ROSALIND I pray you, what is't o'clock? + +ORLANDO You should ask me what time o' day: there's no clock + in the forest. + +ROSALIND Then there is no true lover in the forest; else + sighing every minute and groaning every hour would + detect the lazy foot of Time as well as a clock. + +ORLANDO And why not the swift foot of Time? had not that + been as proper? + +ROSALIND By no means, sir: Time travels in divers paces with + divers persons. I'll tell you who Time ambles + withal, who Time trots withal, who Time gallops + withal and who he stands still withal. + +ORLANDO I prithee, who doth he trot withal? + +ROSALIND Marry, he trots hard with a young maid between the + contract of her marriage and the day it is + solemnized: if the interim be but a se'nnight, + Time's pace is so hard that it seems the length of + seven year. + +ORLANDO Who ambles Time withal? + +ROSALIND With a priest that lacks Latin and a rich man that + hath not the gout, for the one sleeps easily because + he cannot study, and the other lives merrily because + he feels no pain, the one lacking the burden of lean + and wasteful learning, the other knowing no burden + of heavy tedious penury; these Time ambles withal. + +ORLANDO Who doth he gallop withal? + +ROSALIND With a thief to the gallows, for though he go as + softly as foot can fall, he thinks himself too soon there. + +ORLANDO Who stays it still withal? + +ROSALIND With lawyers in the vacation, for they sleep between + term and term and then they perceive not how Time moves. + +ORLANDO Where dwell you, pretty youth? + +ROSALIND With this shepherdess, my sister; here in the + skirts of the forest, like fringe upon a petticoat. + +ORLANDO Are you native of this place? + +ROSALIND As the cony that you see dwell where she is kindled. + +ORLANDO Your accent is something finer than you could + purchase in so removed a dwelling. + +ROSALIND I have been told so of many: but indeed an old + religious uncle of mine taught me to speak, who was + in his youth an inland man; one that knew courtship + too well, for there he fell in love. I have heard + him read many lectures against it, and I thank God + I am not a woman, to be touched with so many + giddy offences as he hath generally taxed their + whole sex withal. + +ORLANDO Can you remember any of the principal evils that he + laid to the charge of women? + +ROSALIND There were none principal; they were all like one + another as half-pence are, every one fault seeming + monstrous till his fellow fault came to match it. + +ORLANDO I prithee, recount some of them. + +ROSALIND No, I will not cast away my physic but on those that + are sick. There is a man haunts the forest, that + abuses our young plants with carving 'Rosalind' on + their barks; hangs odes upon hawthorns and elegies + on brambles, all, forsooth, deifying the name of + Rosalind: if I could meet that fancy-monger I would + give him some good counsel, for he seems to have the + quotidian of love upon him. + +ORLANDO I am he that is so love-shaked: I pray you tell me + your remedy. + +ROSALIND There is none of my uncle's marks upon you: he + taught me how to know a man in love; in which cage + of rushes I am sure you are not prisoner. + +ORLANDO What were his marks? + +ROSALIND A lean cheek, which you have not, a blue eye and + sunken, which you have not, an unquestionable + spirit, which you have not, a beard neglected, + which you have not; but I pardon you for that, for + simply your having in beard is a younger brother's + revenue: then your hose should be ungartered, your + bonnet unbanded, your sleeve unbuttoned, your shoe + untied and every thing about you demonstrating a + careless desolation; but you are no such man; you + are rather point-device in your accoutrements as + loving yourself than seeming the lover of any other. + +ORLANDO Fair youth, I would I could make thee believe I love. + +ROSALIND Me believe it! you may as soon make her that you + love believe it; which, I warrant, she is apter to + do than to confess she does: that is one of the + points in the which women still give the lie to + their consciences. But, in good sooth, are you he + that hangs the verses on the trees, wherein Rosalind + is so admired? + +ORLANDO I swear to thee, youth, by the white hand of + Rosalind, I am that he, that unfortunate he. + +ROSALIND But are you so much in love as your rhymes speak? + +ORLANDO Neither rhyme nor reason can express how much. + +ROSALIND Love is merely a madness, and, I tell you, deserves + as well a dark house and a whip as madmen do: and + the reason why they are not so punished and cured + is, that the lunacy is so ordinary that the whippers + are in love too. Yet I profess curing it by counsel. + +ORLANDO Did you ever cure any so? + +ROSALIND Yes, one, and in this manner. He was to imagine me + his love, his mistress; and I set him every day to + woo me: at which time would I, being but a moonish + youth, grieve, be effeminate, changeable, longing + and liking, proud, fantastical, apish, shallow, + inconstant, full of tears, full of smiles, for every + passion something and for no passion truly any + thing, as boys and women are for the most part + cattle of this colour; would now like him, now loathe + him; then entertain him, then forswear him; now weep + for him, then spit at him; that I drave my suitor + from his mad humour of love to a living humour of + madness; which was, to forswear the full stream of + the world, and to live in a nook merely monastic. + And thus I cured him; and this way will I take upon + me to wash your liver as clean as a sound sheep's + heart, that there shall not be one spot of love in't. + +ORLANDO I would not be cured, youth. + +ROSALIND I would cure you, if you would but call me Rosalind + and come every day to my cote and woo me. + +ORLANDO Now, by the faith of my love, I will: tell me + where it is. + +ROSALIND Go with me to it and I'll show it you and by the way + you shall tell me where in the forest you live. + Will you go? + +ORLANDO With all my heart, good youth. + +ROSALIND Nay you must call me Rosalind. Come, sister, will you go? + + [Exeunt] + + + + + AS YOU LIKE IT + + +ACT III + + + +SCENE III The forest. + + + [Enter TOUCHSTONE and AUDREY; JAQUES behind] + +TOUCHSTONE Come apace, good Audrey: I will fetch up your + goats, Audrey. And how, Audrey? am I the man yet? + doth my simple feature content you? + +AUDREY Your features! Lord warrant us! what features! + +TOUCHSTONE I am here with thee and thy goats, as the most + capricious poet, honest Ovid, was among the Goths. + +JAQUES [Aside] O knowledge ill-inhabited, worse than Jove + in a thatched house! + +TOUCHSTONE When a man's verses cannot be understood, nor a + man's good wit seconded with the forward child + Understanding, it strikes a man more dead than a + great reckoning in a little room. Truly, I would + the gods had made thee poetical. + +AUDREY I do not know what 'poetical' is: is it honest in + deed and word? is it a true thing? + +TOUCHSTONE No, truly; for the truest poetry is the most + feigning; and lovers are given to poetry, and what + they swear in poetry may be said as lovers they do feign. + +AUDREY Do you wish then that the gods had made me poetical? + +TOUCHSTONE I do, truly; for thou swearest to me thou art + honest: now, if thou wert a poet, I might have some + hope thou didst feign. + +AUDREY Would you not have me honest? + +TOUCHSTONE No, truly, unless thou wert hard-favoured; for + honesty coupled to beauty is to have honey a sauce to sugar. + +JAQUES [Aside] A material fool! + +AUDREY Well, I am not fair; and therefore I pray the gods + make me honest. + +TOUCHSTONE Truly, and to cast away honesty upon a foul slut + were to put good meat into an unclean dish. + +AUDREY I am not a slut, though I thank the gods I am foul. + +TOUCHSTONE Well, praised be the gods for thy foulness! + sluttishness may come hereafter. But be it as it may + be, I will marry thee, and to that end I have been + with Sir Oliver Martext, the vicar of the next + village, who hath promised to meet me in this place + of the forest and to couple us. + +JAQUES [Aside] I would fain see this meeting. + +AUDREY Well, the gods give us joy! + +TOUCHSTONE Amen. A man may, if he were of a fearful heart, + stagger in this attempt; for here we have no temple + but the wood, no assembly but horn-beasts. But what + though? Courage! As horns are odious, they are + necessary. It is said, 'many a man knows no end of + his goods:' right; many a man has good horns, and + knows no end of them. Well, that is the dowry of + his wife; 'tis none of his own getting. Horns? + Even so. Poor men alone? No, no; the noblest deer + hath them as huge as the rascal. Is the single man + therefore blessed? No: as a walled town is more + worthier than a village, so is the forehead of a + married man more honourable than the bare brow of a + bachelor; and by how much defence is better than no + skill, by so much is a horn more precious than to + want. Here comes Sir Oliver. + + [Enter SIR OLIVER MARTEXT] + + Sir Oliver Martext, you are well met: will you + dispatch us here under this tree, or shall we go + with you to your chapel? + +SIR OLIVER MARTEXT Is there none here to give the woman? + +TOUCHSTONE I will not take her on gift of any man. + +SIR OLIVER MARTEXT Truly, she must be given, or the marriage is not lawful. + +JAQUES [Advancing] + + Proceed, proceed I'll give her. + +TOUCHSTONE Good even, good Master What-ye-call't: how do you, + sir? You are very well met: God 'ild you for your + last company: I am very glad to see you: even a + toy in hand here, sir: nay, pray be covered. + +JAQUES Will you be married, motley? + +TOUCHSTONE As the ox hath his bow, sir, the horse his curb and + the falcon her bells, so man hath his desires; and + as pigeons bill, so wedlock would be nibbling. + +JAQUES And will you, being a man of your breeding, be + married under a bush like a beggar? Get you to + church, and have a good priest that can tell you + what marriage is: this fellow will but join you + together as they join wainscot; then one of you will + prove a shrunk panel and, like green timber, warp, warp. + +TOUCHSTONE [Aside] I am not in the mind but I were better to be + married of him than of another: for he is not like + to marry me well; and not being well married, it + will be a good excuse for me hereafter to leave my wife. + +JAQUES Go thou with me, and let me counsel thee. + +TOUCHSTONE 'Come, sweet Audrey: + We must be married, or we must live in bawdry. + Farewell, good Master Oliver: not,-- + O sweet Oliver, + O brave Oliver, + Leave me not behind thee: but,-- + Wind away, + Begone, I say, + I will not to wedding with thee. + + [Exeunt JAQUES, TOUCHSTONE and AUDREY] + +SIR OLIVER MARTEXT 'Tis no matter: ne'er a fantastical knave of them + all shall flout me out of my calling. + + [Exit] + + + + + AS YOU LIKE IT + + +ACT III + + + +SCENE IV The forest. + + + [Enter ROSALIND and CELIA] + +ROSALIND Never talk to me; I will weep. + +CELIA Do, I prithee; but yet have the grace to consider + that tears do not become a man. + +ROSALIND But have I not cause to weep? + +CELIA As good cause as one would desire; therefore weep. + +ROSALIND His very hair is of the dissembling colour. + +CELIA Something browner than Judas's marry, his kisses are + Judas's own children. + +ROSALIND I' faith, his hair is of a good colour. + +CELIA An excellent colour: your chestnut was ever the only colour. + +ROSALIND And his kissing is as full of sanctity as the touch + of holy bread. + +CELIA He hath bought a pair of cast lips of Diana: a nun + of winter's sisterhood kisses not more religiously; + the very ice of chastity is in them. + +ROSALIND But why did he swear he would come this morning, and + comes not? + +CELIA Nay, certainly, there is no truth in him. + +ROSALIND Do you think so? + +CELIA Yes; I think he is not a pick-purse nor a + horse-stealer, but for his verity in love, I do + think him as concave as a covered goblet or a + worm-eaten nut. + +ROSALIND Not true in love? + +CELIA Yes, when he is in; but I think he is not in. + +ROSALIND You have heard him swear downright he was. + +CELIA 'Was' is not 'is:' besides, the oath of a lover is + no stronger than the word of a tapster; they are + both the confirmer of false reckonings. He attends + here in the forest on the duke your father. + +ROSALIND I met the duke yesterday and had much question with + him: he asked me of what parentage I was; I told + him, of as good as he; so he laughed and let me go. + But what talk we of fathers, when there is such a + man as Orlando? + +CELIA O, that's a brave man! he writes brave verses, + speaks brave words, swears brave oaths and breaks + them bravely, quite traverse, athwart the heart of + his lover; as a puisny tilter, that spurs his horse + but on one side, breaks his staff like a noble + goose: but all's brave that youth mounts and folly + guides. Who comes here? + + [Enter CORIN] + +CORIN Mistress and master, you have oft inquired + After the shepherd that complain'd of love, + Who you saw sitting by me on the turf, + Praising the proud disdainful shepherdess + That was his mistress. + +CELIA Well, and what of him? + +CORIN If you will see a pageant truly play'd, + Between the pale complexion of true love + And the red glow of scorn and proud disdain, + Go hence a little and I shall conduct you, + If you will mark it. + +ROSALIND O, come, let us remove: + The sight of lovers feedeth those in love. + Bring us to this sight, and you shall say + I'll prove a busy actor in their play. + + [Exeunt] + + + + + AS YOU LIKE IT + + +ACT III + + + +SCENE V Another part of the forest. + + + [Enter SILVIUS and PHEBE] + +SILVIUS Sweet Phebe, do not scorn me; do not, Phebe; + Say that you love me not, but say not so + In bitterness. The common executioner, + Whose heart the accustom'd sight of death makes hard, + Falls not the axe upon the humbled neck + But first begs pardon: will you sterner be + Than he that dies and lives by bloody drops? + + [Enter ROSALIND, CELIA, and CORIN, behind] + +PHEBE I would not be thy executioner: + I fly thee, for I would not injure thee. + Thou tell'st me there is murder in mine eye: + 'Tis pretty, sure, and very probable, + That eyes, that are the frail'st and softest things, + Who shut their coward gates on atomies, + Should be call'd tyrants, butchers, murderers! + Now I do frown on thee with all my heart; + And if mine eyes can wound, now let them kill thee: + Now counterfeit to swoon; why now fall down; + Or if thou canst not, O, for shame, for shame, + Lie not, to say mine eyes are murderers! + Now show the wound mine eye hath made in thee: + Scratch thee but with a pin, and there remains + Some scar of it; lean but upon a rush, + The cicatrice and capable impressure + Thy palm some moment keeps; but now mine eyes, + Which I have darted at thee, hurt thee not, + Nor, I am sure, there is no force in eyes + That can do hurt. + +SILVIUS O dear Phebe, + If ever,--as that ever may be near,-- + You meet in some fresh cheek the power of fancy, + Then shall you know the wounds invisible + That love's keen arrows make. + +PHEBE But till that time + Come not thou near me: and when that time comes, + Afflict me with thy mocks, pity me not; + As till that time I shall not pity thee. + +ROSALIND And why, I pray you? Who might be your mother, + That you insult, exult, and all at once, + Over the wretched? What though you have no beauty,-- + As, by my faith, I see no more in you + Than without candle may go dark to bed-- + Must you be therefore proud and pitiless? + Why, what means this? Why do you look on me? + I see no more in you than in the ordinary + Of nature's sale-work. 'Od's my little life, + I think she means to tangle my eyes too! + No, faith, proud mistress, hope not after it: + 'Tis not your inky brows, your black silk hair, + Your bugle eyeballs, nor your cheek of cream, + That can entame my spirits to your worship. + You foolish shepherd, wherefore do you follow her, + Like foggy south puffing with wind and rain? + You are a thousand times a properer man + Than she a woman: 'tis such fools as you + That makes the world full of ill-favour'd children: + 'Tis not her glass, but you, that flatters her; + And out of you she sees herself more proper + Than any of her lineaments can show her. + But, mistress, know yourself: down on your knees, + And thank heaven, fasting, for a good man's love: + For I must tell you friendly in your ear, + Sell when you can: you are not for all markets: + Cry the man mercy; love him; take his offer: + Foul is most foul, being foul to be a scoffer. + So take her to thee, shepherd: fare you well. + +PHEBE Sweet youth, I pray you, chide a year together: + I had rather hear you chide than this man woo. + +ROSALIND He's fallen in love with your foulness and she'll + fall in love with my anger. If it be so, as fast as + she answers thee with frowning looks, I'll sauce her + with bitter words. Why look you so upon me? + +PHEBE For no ill will I bear you. + +ROSALIND I pray you, do not fall in love with me, + For I am falser than vows made in wine: + Besides, I like you not. If you will know my house, + 'Tis at the tuft of olives here hard by. + Will you go, sister? Shepherd, ply her hard. + Come, sister. Shepherdess, look on him better, + And be not proud: though all the world could see, + None could be so abused in sight as he. + Come, to our flock. + + [Exeunt ROSALIND, CELIA and CORIN] + +PHEBE Dead Shepherd, now I find thy saw of might, + 'Who ever loved that loved not at first sight?' + +SILVIUS Sweet Phebe,-- + +PHEBE Ha, what say'st thou, Silvius? + +SILVIUS Sweet Phebe, pity me. + +PHEBE Why, I am sorry for thee, gentle Silvius. + +SILVIUS Wherever sorrow is, relief would be: + If you do sorrow at my grief in love, + By giving love your sorrow and my grief + Were both extermined. + +PHEBE Thou hast my love: is not that neighbourly? + +SILVIUS I would have you. + +PHEBE Why, that were covetousness. + Silvius, the time was that I hated thee, + And yet it is not that I bear thee love; + But since that thou canst talk of love so well, + Thy company, which erst was irksome to me, + I will endure, and I'll employ thee too: + But do not look for further recompense + Than thine own gladness that thou art employ'd. + +SILVIUS So holy and so perfect is my love, + And I in such a poverty of grace, + That I shall think it a most plenteous crop + To glean the broken ears after the man + That the main harvest reaps: loose now and then + A scatter'd smile, and that I'll live upon. + +PHEBE Know'st now the youth that spoke to me erewhile? + +SILVIUS Not very well, but I have met him oft; + And he hath bought the cottage and the bounds + That the old carlot once was master of. + +PHEBE Think not I love him, though I ask for him: + 'Tis but a peevish boy; yet he talks well; + But what care I for words? yet words do well + When he that speaks them pleases those that hear. + It is a pretty youth: not very pretty: + But, sure, he's proud, and yet his pride becomes him: + He'll make a proper man: the best thing in him + Is his complexion; and faster than his tongue + Did make offence his eye did heal it up. + He is not very tall; yet for his years he's tall: + His leg is but so so; and yet 'tis well: + There was a pretty redness in his lip, + A little riper and more lusty red + Than that mix'd in his cheek; 'twas just the difference + Between the constant red and mingled damask. + There be some women, Silvius, had they mark'd him + In parcels as I did, would have gone near + To fall in love with him; but, for my part, + I love him not nor hate him not; and yet + I have more cause to hate him than to love him: + For what had he to do to chide at me? + He said mine eyes were black and my hair black: + And, now I am remember'd, scorn'd at me: + I marvel why I answer'd not again: + But that's all one; omittance is no quittance. + I'll write to him a very taunting letter, + And thou shalt bear it: wilt thou, Silvius? + +SILVIUS Phebe, with all my heart. + +PHEBE I'll write it straight; + The matter's in my head and in my heart: + I will be bitter with him and passing short. + Go with me, Silvius. + + [Exeunt] + + + + + AS YOU LIKE IT + + +ACT IV + + + +SCENE I The forest. + + + [Enter ROSALIND, CELIA, and JAQUES] + +JAQUES I prithee, pretty youth, let me be better acquainted + with thee. + +ROSALIND They say you are a melancholy fellow. + +JAQUES I am so; I do love it better than laughing. + +ROSALIND Those that are in extremity of either are abominable + fellows and betray themselves to every modern + censure worse than drunkards. + +JAQUES Why, 'tis good to be sad and say nothing. + +ROSALIND Why then, 'tis good to be a post. + +JAQUES I have neither the scholar's melancholy, which is + emulation, nor the musician's, which is fantastical, + nor the courtier's, which is proud, nor the + soldier's, which is ambitious, nor the lawyer's, + which is politic, nor the lady's, which is nice, nor + the lover's, which is all these: but it is a + melancholy of mine own, compounded of many simples, + extracted from many objects, and indeed the sundry's + contemplation of my travels, in which my often + rumination wraps me m a most humorous sadness. + +ROSALIND A traveller! By my faith, you have great reason to + be sad: I fear you have sold your own lands to see + other men's; then, to have seen much and to have + nothing, is to have rich eyes and poor hands. + +JAQUES Yes, I have gained my experience. + +ROSALIND And your experience makes you sad: I had rather have + a fool to make me merry than experience to make me + sad; and to travel for it too! + + [Enter ORLANDO] + +ORLANDO Good day and happiness, dear Rosalind! + +JAQUES Nay, then, God be wi' you, an you talk in blank verse. + + [Exit] + +ROSALIND Farewell, Monsieur Traveller: look you lisp and + wear strange suits, disable all the benefits of your + own country, be out of love with your nativity and + almost chide God for making you that countenance you + are, or I will scarce think you have swam in a + gondola. Why, how now, Orlando! where have you been + all this while? You a lover! An you serve me such + another trick, never come in my sight more. + +ORLANDO My fair Rosalind, I come within an hour of my promise. + +ROSALIND Break an hour's promise in love! He that will + divide a minute into a thousand parts and break but + a part of the thousandth part of a minute in the + affairs of love, it may be said of him that Cupid + hath clapped him o' the shoulder, but I'll warrant + him heart-whole. + +ORLANDO Pardon me, dear Rosalind. + +ROSALIND Nay, an you be so tardy, come no more in my sight: I + had as lief be wooed of a snail. + +ORLANDO Of a snail? + +ROSALIND Ay, of a snail; for though he comes slowly, he + carries his house on his head; a better jointure, + I think, than you make a woman: besides he brings + his destiny with him. + +ORLANDO What's that? + +ROSALIND Why, horns, which such as you are fain to be + beholding to your wives for: but he comes armed in + his fortune and prevents the slander of his wife. + +ORLANDO Virtue is no horn-maker; and my Rosalind is virtuous. + +ROSALIND And I am your Rosalind. + +CELIA It pleases him to call you so; but he hath a + Rosalind of a better leer than you. + +ROSALIND Come, woo me, woo me, for now I am in a holiday + humour and like enough to consent. What would you + say to me now, an I were your very very Rosalind? + +ORLANDO I would kiss before I spoke. + +ROSALIND Nay, you were better speak first, and when you were + gravelled for lack of matter, you might take + occasion to kiss. Very good orators, when they are + out, they will spit; and for lovers lacking--God + warn us!--matter, the cleanliest shift is to kiss. + +ORLANDO How if the kiss be denied? + +ROSALIND Then she puts you to entreaty, and there begins new matter. + +ORLANDO Who could be out, being before his beloved mistress? + +ROSALIND Marry, that should you, if I were your mistress, or + I should think my honesty ranker than my wit. + +ORLANDO What, of my suit? + +ROSALIND Not out of your apparel, and yet out of your suit. + Am not I your Rosalind? + +ORLANDO I take some joy to say you are, because I would be + talking of her. + +ROSALIND Well in her person I say I will not have you. + +ORLANDO Then in mine own person I die. + +ROSALIND No, faith, die by attorney. The poor world is + almost six thousand years old, and in all this time + there was not any man died in his own person, + videlicit, in a love-cause. Troilus had his brains + dashed out with a Grecian club; yet he did what he + could to die before, and he is one of the patterns + of love. Leander, he would have lived many a fair + year, though Hero had turned nun, if it had not been + for a hot midsummer night; for, good youth, he went + but forth to wash him in the Hellespont and being + taken with the cramp was drowned and the foolish + coroners of that age found it was 'Hero of Sestos.' + But these are all lies: men have died from time to + time and worms have eaten them, but not for love. + +ORLANDO I would not have my right Rosalind of this mind, + for, I protest, her frown might kill me. + +ROSALIND By this hand, it will not kill a fly. But come, now + I will be your Rosalind in a more coming-on + disposition, and ask me what you will. I will grant + it. + +ORLANDO Then love me, Rosalind. + +ROSALIND Yes, faith, will I, Fridays and Saturdays and all. + +ORLANDO And wilt thou have me? + +ROSALIND Ay, and twenty such. + +ORLANDO What sayest thou? + +ROSALIND Are you not good? + +ORLANDO I hope so. + +ROSALIND Why then, can one desire too much of a good thing? + Come, sister, you shall be the priest and marry us. + Give me your hand, Orlando. What do you say, sister? + +ORLANDO Pray thee, marry us. + +CELIA I cannot say the words. + +ROSALIND You must begin, 'Will you, Orlando--' + +CELIA Go to. Will you, Orlando, have to wife this Rosalind? + +ORLANDO I will. + +ROSALIND Ay, but when? + +ORLANDO Why now; as fast as she can marry us. + +ROSALIND Then you must say 'I take thee, Rosalind, for wife.' + +ORLANDO I take thee, Rosalind, for wife. + +ROSALIND I might ask you for your commission; but I do take + thee, Orlando, for my husband: there's a girl goes + before the priest; and certainly a woman's thought + runs before her actions. + +ORLANDO So do all thoughts; they are winged. + +ROSALIND Now tell me how long you would have her after you + have possessed her. + +ORLANDO For ever and a day. + +ROSALIND Say 'a day,' without the 'ever.' No, no, Orlando; + men are April when they woo, December when they wed: + maids are May when they are maids, but the sky + changes when they are wives. I will be more jealous + of thee than a Barbary cock-pigeon over his hen, + more clamorous than a parrot against rain, more + new-fangled than an ape, more giddy in my desires + than a monkey: I will weep for nothing, like Diana + in the fountain, and I will do that when you are + disposed to be merry; I will laugh like a hyen, and + that when thou art inclined to sleep. + +ORLANDO But will my Rosalind do so? + +ROSALIND By my life, she will do as I do. + +ORLANDO O, but she is wise. + +ROSALIND Or else she could not have the wit to do this: the + wiser, the waywarder: make the doors upon a woman's + wit and it will out at the casement; shut that and + 'twill out at the key-hole; stop that, 'twill fly + with the smoke out at the chimney. + +ORLANDO A man that had a wife with such a wit, he might say + 'Wit, whither wilt?' + +ROSALIND Nay, you might keep that cheque for it till you met + your wife's wit going to your neighbour's bed. + +ORLANDO And what wit could wit have to excuse that? + +ROSALIND Marry, to say she came to seek you there. You shall + never take her without her answer, unless you take + her without her tongue. O, that woman that cannot + make her fault her husband's occasion, let her + never nurse her child herself, for she will breed + it like a fool! + +ORLANDO For these two hours, Rosalind, I will leave thee. + +ROSALIND Alas! dear love, I cannot lack thee two hours. + +ORLANDO I must attend the duke at dinner: by two o'clock I + will be with thee again. + +ROSALIND Ay, go your ways, go your ways; I knew what you + would prove: my friends told me as much, and I + thought no less: that flattering tongue of yours + won me: 'tis but one cast away, and so, come, + death! Two o'clock is your hour? + +ORLANDO Ay, sweet Rosalind. + +ROSALIND By my troth, and in good earnest, and so God mend + me, and by all pretty oaths that are not dangerous, + if you break one jot of your promise or come one + minute behind your hour, I will think you the most + pathetical break-promise and the most hollow lover + and the most unworthy of her you call Rosalind that + may be chosen out of the gross band of the + unfaithful: therefore beware my censure and keep + your promise. + +ORLANDO With no less religion than if thou wert indeed my + Rosalind: so adieu. + +ROSALIND Well, Time is the old justice that examines all such + offenders, and let Time try: adieu. + + [Exit ORLANDO] + +CELIA You have simply misused our sex in your love-prate: + we must have your doublet and hose plucked over your + head, and show the world what the bird hath done to + her own nest. + +ROSALIND O coz, coz, coz, my pretty little coz, that thou + didst know how many fathom deep I am in love! But + it cannot be sounded: my affection hath an unknown + bottom, like the bay of Portugal. + +CELIA Or rather, bottomless, that as fast as you pour + affection in, it runs out. + +ROSALIND No, that same wicked bastard of Venus that was begot + of thought, conceived of spleen and born of madness, + that blind rascally boy that abuses every one's eyes + because his own are out, let him be judge how deep I + am in love. I'll tell thee, Aliena, I cannot be out + of the sight of Orlando: I'll go find a shadow and + sigh till he come. + +CELIA And I'll sleep. + + [Exeunt] + + + + + AS YOU LIKE IT + + +ACT IV + + + +SCENE II The forest. + + + [Enter JAQUES, Lords, and Foresters] + +JAQUES Which is he that killed the deer? + +A Lord Sir, it was I. + +JAQUES Let's present him to the duke, like a Roman + conqueror; and it would do well to set the deer's + horns upon his head, for a branch of victory. Have + you no song, forester, for this purpose? + +Forester Yes, sir. + +JAQUES Sing it: 'tis no matter how it be in tune, so it + make noise enough. + + SONG. +Forester What shall he have that kill'd the deer? + His leather skin and horns to wear. + Then sing him home; + + [The rest shall bear this burden] + + Take thou no scorn to wear the horn; + It was a crest ere thou wast born: + Thy father's father wore it, + And thy father bore it: + The horn, the horn, the lusty horn + Is not a thing to laugh to scorn. + + [Exeunt] + + + + + AS YOU LIKE IT + + +ACT IV + + + +SCENE III The forest. + + + [Enter ROSALIND and CELIA] + +ROSALIND How say you now? Is it not past two o'clock? and + here much Orlando! + +CELIA I warrant you, with pure love and troubled brain, he + hath ta'en his bow and arrows and is gone forth to + sleep. Look, who comes here. + + [Enter SILVIUS] + +SILVIUS My errand is to you, fair youth; + My gentle Phebe bid me give you this: + I know not the contents; but, as I guess + By the stern brow and waspish action + Which she did use as she was writing of it, + It bears an angry tenor: pardon me: + I am but as a guiltless messenger. + +ROSALIND Patience herself would startle at this letter + And play the swaggerer; bear this, bear all: + She says I am not fair, that I lack manners; + She calls me proud, and that she could not love me, + Were man as rare as phoenix. 'Od's my will! + Her love is not the hare that I do hunt: + Why writes she so to me? Well, shepherd, well, + This is a letter of your own device. + +SILVIUS No, I protest, I know not the contents: + Phebe did write it. + +ROSALIND Come, come, you are a fool + And turn'd into the extremity of love. + I saw her hand: she has a leathern hand. + A freestone-colour'd hand; I verily did think + That her old gloves were on, but 'twas her hands: + She has a huswife's hand; but that's no matter: + I say she never did invent this letter; + This is a man's invention and his hand. + +SILVIUS Sure, it is hers. + +ROSALIND Why, 'tis a boisterous and a cruel style. + A style for-challengers; why, she defies me, + Like Turk to Christian: women's gentle brain + Could not drop forth such giant-rude invention + Such Ethiope words, blacker in their effect + Than in their countenance. Will you hear the letter? + +SILVIUS So please you, for I never heard it yet; + Yet heard too much of Phebe's cruelty. + +ROSALIND She Phebes me: mark how the tyrant writes. + + [Reads] + + Art thou god to shepherd turn'd, + That a maiden's heart hath burn'd? + Can a woman rail thus? + +SILVIUS Call you this railing? + +ROSALIND [Reads] + + Why, thy godhead laid apart, + Warr'st thou with a woman's heart? + Did you ever hear such railing? + Whiles the eye of man did woo me, + That could do no vengeance to me. + Meaning me a beast. + If the scorn of your bright eyne + Have power to raise such love in mine, + Alack, in me what strange effect + Would they work in mild aspect! + Whiles you chid me, I did love; + How then might your prayers move! + He that brings this love to thee + Little knows this love in me: + And by him seal up thy mind; + Whether that thy youth and kind + Will the faithful offer take + Of me and all that I can make; + Or else by him my love deny, + And then I'll study how to die. + +SILVIUS Call you this chiding? + +CELIA Alas, poor shepherd! + +ROSALIND Do you pity him? no, he deserves no pity. Wilt + thou love such a woman? What, to make thee an + instrument and play false strains upon thee! not to + be endured! Well, go your way to her, for I see + love hath made thee a tame snake, and say this to + her: that if she love me, I charge her to love + thee; if she will not, I will never have her unless + thou entreat for her. If you be a true lover, + hence, and not a word; for here comes more company. + + [Exit SILVIUS] + + [Enter OLIVER] + +OLIVER Good morrow, fair ones: pray you, if you know, + Where in the purlieus of this forest stands + A sheep-cote fenced about with olive trees? + +CELIA West of this place, down in the neighbour bottom: + The rank of osiers by the murmuring stream + Left on your right hand brings you to the place. + But at this hour the house doth keep itself; + There's none within. + +OLIVER If that an eye may profit by a tongue, + Then should I know you by description; + Such garments and such years: 'The boy is fair, + Of female favour, and bestows himself + Like a ripe sister: the woman low + And browner than her brother.' Are not you + The owner of the house I did inquire for? + +CELIA It is no boast, being ask'd, to say we are. + +OLIVER Orlando doth commend him to you both, + And to that youth he calls his Rosalind + He sends this bloody napkin. Are you he? + +ROSALIND I am: what must we understand by this? + +OLIVER Some of my shame; if you will know of me + What man I am, and how, and why, and where + This handkercher was stain'd. + +CELIA I pray you, tell it. + +OLIVER When last the young Orlando parted from you + He left a promise to return again + Within an hour, and pacing through the forest, + Chewing the food of sweet and bitter fancy, + Lo, what befell! he threw his eye aside, + And mark what object did present itself: + Under an oak, whose boughs were moss'd with age + And high top bald with dry antiquity, + A wretched ragged man, o'ergrown with hair, + Lay sleeping on his back: about his neck + A green and gilded snake had wreathed itself, + Who with her head nimble in threats approach'd + The opening of his mouth; but suddenly, + Seeing Orlando, it unlink'd itself, + And with indented glides did slip away + Into a bush: under which bush's shade + A lioness, with udders all drawn dry, + Lay couching, head on ground, with catlike watch, + When that the sleeping man should stir; for 'tis + The royal disposition of that beast + To prey on nothing that doth seem as dead: + This seen, Orlando did approach the man + And found it was his brother, his elder brother. + +CELIA O, I have heard him speak of that same brother; + And he did render him the most unnatural + That lived amongst men. + +OLIVER And well he might so do, + For well I know he was unnatural. + +ROSALIND But, to Orlando: did he leave him there, + Food to the suck'd and hungry lioness? + +OLIVER Twice did he turn his back and purposed so; + But kindness, nobler ever than revenge, + And nature, stronger than his just occasion, + Made him give battle to the lioness, + Who quickly fell before him: in which hurtling + From miserable slumber I awaked. + +CELIA Are you his brother? + +ROSALIND Wast you he rescued? + +CELIA Was't you that did so oft contrive to kill him? + +OLIVER 'Twas I; but 'tis not I I do not shame + To tell you what I was, since my conversion + So sweetly tastes, being the thing I am. + +ROSALIND But, for the bloody napkin? + +OLIVER By and by. + When from the first to last betwixt us two + Tears our recountments had most kindly bathed, + As how I came into that desert place:-- + In brief, he led me to the gentle duke, + Who gave me fresh array and entertainment, + Committing me unto my brother's love; + Who led me instantly unto his cave, + There stripp'd himself, and here upon his arm + The lioness had torn some flesh away, + Which all this while had bled; and now he fainted + And cried, in fainting, upon Rosalind. + Brief, I recover'd him, bound up his wound; + And, after some small space, being strong at heart, + He sent me hither, stranger as I am, + To tell this story, that you might excuse + His broken promise, and to give this napkin + Dyed in his blood unto the shepherd youth + That he in sport doth call his Rosalind. + + [ROSALIND swoons] + +CELIA Why, how now, Ganymede! sweet Ganymede! + +OLIVER Many will swoon when they do look on blood. + +CELIA There is more in it. Cousin Ganymede! + +OLIVER Look, he recovers. + +ROSALIND I would I were at home. + +CELIA We'll lead you thither. + I pray you, will you take him by the arm? + +OLIVER Be of good cheer, youth: you a man! you lack a + man's heart. + +ROSALIND I do so, I confess it. Ah, sirrah, a body would + think this was well counterfeited! I pray you, tell + your brother how well I counterfeited. Heigh-ho! + +OLIVER This was not counterfeit: there is too great + testimony in your complexion that it was a passion + of earnest. + +ROSALIND Counterfeit, I assure you. + +OLIVER Well then, take a good heart and counterfeit to be a man. + +ROSALIND So I do: but, i' faith, I should have been a woman by right. + +CELIA Come, you look paler and paler: pray you, draw + homewards. Good sir, go with us. + +OLIVER That will I, for I must bear answer back + How you excuse my brother, Rosalind. + +ROSALIND I shall devise something: but, I pray you, commend + my counterfeiting to him. Will you go? + + [Exeunt] + + + + + AS YOU LIKE IT + + +ACT V + + + +SCENE I The forest. + + + [Enter TOUCHSTONE and AUDREY] + +TOUCHSTONE We shall find a time, Audrey; patience, gentle Audrey. + +AUDREY Faith, the priest was good enough, for all the old + gentleman's saying. + +TOUCHSTONE A most wicked Sir Oliver, Audrey, a most vile + Martext. But, Audrey, there is a youth here in the + forest lays claim to you. + +AUDREY Ay, I know who 'tis; he hath no interest in me in + the world: here comes the man you mean. + +TOUCHSTONE It is meat and drink to me to see a clown: by my + troth, we that have good wits have much to answer + for; we shall be flouting; we cannot hold. + + [Enter WILLIAM] + +WILLIAM Good even, Audrey. + +AUDREY God ye good even, William. + +WILLIAM And good even to you, sir. + +TOUCHSTONE Good even, gentle friend. Cover thy head, cover thy + head; nay, prithee, be covered. How old are you, friend? + +WILLIAM Five and twenty, sir. + +TOUCHSTONE A ripe age. Is thy name William? + +WILLIAM William, sir. + +TOUCHSTONE A fair name. Wast born i' the forest here? + +WILLIAM Ay, sir, I thank God. + +TOUCHSTONE 'Thank God;' a good answer. Art rich? + +WILLIAM Faith, sir, so so. + +TOUCHSTONE 'So so' is good, very good, very excellent good; and + yet it is not; it is but so so. Art thou wise? + +WILLIAM Ay, sir, I have a pretty wit. + +TOUCHSTONE Why, thou sayest well. I do now remember a saying, + 'The fool doth think he is wise, but the wise man + knows himself to be a fool.' The heathen + philosopher, when he had a desire to eat a grape, + would open his lips when he put it into his mouth; + meaning thereby that grapes were made to eat and + lips to open. You do love this maid? + +WILLIAM I do, sir. + +TOUCHSTONE Give me your hand. Art thou learned? + +WILLIAM No, sir. + +TOUCHSTONE Then learn this of me: to have, is to have; for it + is a figure in rhetoric that drink, being poured out + of a cup into a glass, by filling the one doth empty + the other; for all your writers do consent that ipse + is he: now, you are not ipse, for I am he. + +WILLIAM Which he, sir? + +TOUCHSTONE He, sir, that must marry this woman. Therefore, you + clown, abandon,--which is in the vulgar leave,--the + society,--which in the boorish is company,--of this + female,--which in the common is woman; which + together is, abandon the society of this female, or, + clown, thou perishest; or, to thy better + understanding, diest; or, to wit I kill thee, make + thee away, translate thy life into death, thy + liberty into bondage: I will deal in poison with + thee, or in bastinado, or in steel; I will bandy + with thee in faction; I will o'errun thee with + policy; I will kill thee a hundred and fifty ways: + therefore tremble and depart. + +AUDREY Do, good William. + +WILLIAM God rest you merry, sir. + + [Exit] + + [Enter CORIN] + +CORIN Our master and mistress seeks you; come, away, away! + +TOUCHSTONE Trip, Audrey! trip, Audrey! I attend, I attend. + + [Exeunt] + + + + + AS YOU LIKE IT + + +ACT V + + + +SCENE II The forest. + + + [Enter ORLANDO and OLIVER] + +ORLANDO Is't possible that on so little acquaintance you + should like her? that but seeing you should love + her? and loving woo? and, wooing, she should + grant? and will you persever to enjoy her? + +OLIVER Neither call the giddiness of it in question, the + poverty of her, the small acquaintance, my sudden + wooing, nor her sudden consenting; but say with me, + I love Aliena; say with her that she loves me; + consent with both that we may enjoy each other: it + shall be to your good; for my father's house and all + the revenue that was old Sir Rowland's will I + estate upon you, and here live and die a shepherd. + +ORLANDO You have my consent. Let your wedding be to-morrow: + thither will I invite the duke and all's contented + followers. Go you and prepare Aliena; for look + you, here comes my Rosalind. + + [Enter ROSALIND] + +ROSALIND God save you, brother. + +OLIVER And you, fair sister. + + [Exit] + +ROSALIND O, my dear Orlando, how it grieves me to see thee + wear thy heart in a scarf! + +ORLANDO It is my arm. + +ROSALIND I thought thy heart had been wounded with the claws + of a lion. + +ORLANDO Wounded it is, but with the eyes of a lady. + +ROSALIND Did your brother tell you how I counterfeited to + swoon when he showed me your handkerchief? + +ORLANDO Ay, and greater wonders than that. + +ROSALIND O, I know where you are: nay, 'tis true: there was + never any thing so sudden but the fight of two rams + and Caesar's thrasonical brag of 'I came, saw, and + overcame:' for your brother and my sister no sooner + met but they looked, no sooner looked but they + loved, no sooner loved but they sighed, no sooner + sighed but they asked one another the reason, no + sooner knew the reason but they sought the remedy; + and in these degrees have they made a pair of stairs + to marriage which they will climb incontinent, or + else be incontinent before marriage: they are in + the very wrath of love and they will together; clubs + cannot part them. + +ORLANDO They shall be married to-morrow, and I will bid the + duke to the nuptial. But, O, how bitter a thing it + is to look into happiness through another man's + eyes! By so much the more shall I to-morrow be at + the height of heart-heaviness, by how much I shall + think my brother happy in having what he wishes for. + +ROSALIND Why then, to-morrow I cannot serve your turn for Rosalind? + +ORLANDO I can live no longer by thinking. + +ROSALIND I will weary you then no longer with idle talking. + Know of me then, for now I speak to some purpose, + that I know you are a gentleman of good conceit: I + speak not this that you should bear a good opinion + of my knowledge, insomuch I say I know you are; + neither do I labour for a greater esteem than may in + some little measure draw a belief from you, to do + yourself good and not to grace me. Believe then, if + you please, that I can do strange things: I have, + since I was three year old, conversed with a + magician, most profound in his art and yet not + damnable. If you do love Rosalind so near the heart + as your gesture cries it out, when your brother + marries Aliena, shall you marry her: I know into + what straits of fortune she is driven; and it is + not impossible to me, if it appear not inconvenient + to you, to set her before your eyes tomorrow human + as she is and without any danger. + +ORLANDO Speakest thou in sober meanings? + +ROSALIND By my life, I do; which I tender dearly, though I + say I am a magician. Therefore, put you in your + best array: bid your friends; for if you will be + married to-morrow, you shall, and to Rosalind, if you will. + + [Enter SILVIUS and PHEBE] + + Look, here comes a lover of mine and a lover of hers. + +PHEBE Youth, you have done me much ungentleness, + To show the letter that I writ to you. + +ROSALIND I care not if I have: it is my study + To seem despiteful and ungentle to you: + You are there followed by a faithful shepherd; + Look upon him, love him; he worships you. + +PHEBE Good shepherd, tell this youth what 'tis to love. + +SILVIUS It is to be all made of sighs and tears; + And so am I for Phebe. + +PHEBE And I for Ganymede. + +ORLANDO And I for Rosalind. + +ROSALIND And I for no woman. + +SILVIUS It is to be all made of faith and service; + And so am I for Phebe. + +PHEBE And I for Ganymede. + +ORLANDO And I for Rosalind. + +ROSALIND And I for no woman. + +SILVIUS It is to be all made of fantasy, + All made of passion and all made of wishes, + All adoration, duty, and observance, + All humbleness, all patience and impatience, + All purity, all trial, all observance; + And so am I for Phebe. + +PHEBE And so am I for Ganymede. + +ORLANDO And so am I for Rosalind. + +ROSALIND And so am I for no woman. + +PHEBE If this be so, why blame you me to love you? + +SILVIUS If this be so, why blame you me to love you? + +ORLANDO If this be so, why blame you me to love you? + +ROSALIND Who do you speak to, 'Why blame you me to love you?' + +ORLANDO To her that is not here, nor doth not hear. + +ROSALIND Pray you, no more of this; 'tis like the howling + of Irish wolves against the moon. + + [To SILVIUS] + + I will help you, if I can: + + [To PHEBE] + + I would love you, if I could. To-morrow meet me all together. + + [To PHEBE] + + I will marry you, if ever I marry woman, and I'll be + married to-morrow: + + [To ORLANDO] + + I will satisfy you, if ever I satisfied man, and you + shall be married to-morrow: + + [To SILVIUS] + + I will content you, if what pleases you contents + you, and you shall be married to-morrow. + + [To ORLANDO] + + As you love Rosalind, meet: + + [To SILVIUS] + + as you love Phebe, meet: and as I love no woman, + I'll meet. So fare you well: I have left you commands. + +SILVIUS I'll not fail, if I live. + +PHEBE Nor I. + +ORLANDO Nor I. + + [Exeunt] + + + + + AS YOU LIKE IT + + +ACT V + + + +SCENE III The forest. + + + [Enter TOUCHSTONE and AUDREY] + +TOUCHSTONE To-morrow is the joyful day, Audrey; to-morrow will + we be married. + +AUDREY I do desire it with all my heart; and I hope it is + no dishonest desire to desire to be a woman of the + world. Here comes two of the banished duke's pages. + + [Enter two Pages] + +First Page Well met, honest gentleman. + +TOUCHSTONE By my troth, well met. Come, sit, sit, and a song. + +Second Page We are for you: sit i' the middle. + +First Page Shall we clap into't roundly, without hawking or + spitting or saying we are hoarse, which are the only + prologues to a bad voice? + +Second Page I'faith, i'faith; and both in a tune, like two + gipsies on a horse. + + SONG. + It was a lover and his lass, + With a hey, and a ho, and a hey nonino, + That o'er the green corn-field did pass + In the spring time, the only pretty ring time, + When birds do sing, hey ding a ding, ding: + Sweet lovers love the spring. + + Between the acres of the rye, + With a hey, and a ho, and a hey nonino + These pretty country folks would lie, + In spring time, &c. + + This carol they began that hour, + With a hey, and a ho, and a hey nonino, + How that a life was but a flower + In spring time, &c. + + And therefore take the present time, + With a hey, and a ho, and a hey nonino; + For love is crowned with the prime + In spring time, &c. + +TOUCHSTONE Truly, young gentlemen, though there was no great + matter in the ditty, yet the note was very + untuneable. + +First Page You are deceived, sir: we kept time, we lost not our time. + +TOUCHSTONE By my troth, yes; I count it but time lost to hear + such a foolish song. God be wi' you; and God mend + your voices! Come, Audrey. + + [Exeunt] + + + + + AS YOU LIKE IT + + +ACT V + + + +SCENE IV The forest. + + + [Enter DUKE SENIOR, AMIENS, JAQUES, ORLANDO, OLIVER, + and CELIA] + +DUKE SENIOR Dost thou believe, Orlando, that the boy + Can do all this that he hath promised? + +ORLANDO I sometimes do believe, and sometimes do not; + As those that fear they hope, and know they fear. + + [Enter ROSALIND, SILVIUS, and PHEBE] + +ROSALIND Patience once more, whiles our compact is urged: + You say, if I bring in your Rosalind, + You will bestow her on Orlando here? + +DUKE SENIOR That would I, had I kingdoms to give with her. + +ROSALIND And you say, you will have her, when I bring her? + +ORLANDO That would I, were I of all kingdoms king. + +ROSALIND You say, you'll marry me, if I be willing? + +PHEBE That will I, should I die the hour after. + +ROSALIND But if you do refuse to marry me, + You'll give yourself to this most faithful shepherd? + +PHEBE So is the bargain. + +ROSALIND You say, that you'll have Phebe, if she will? + +SILVIUS Though to have her and death were both one thing. + +ROSALIND I have promised to make all this matter even. + Keep you your word, O duke, to give your daughter; + You yours, Orlando, to receive his daughter: + Keep your word, Phebe, that you'll marry me, + Or else refusing me, to wed this shepherd: + Keep your word, Silvius, that you'll marry her. + If she refuse me: and from hence I go, + To make these doubts all even. + + [Exeunt ROSALIND and CELIA] + +DUKE SENIOR I do remember in this shepherd boy + Some lively touches of my daughter's favour. + +ORLANDO My lord, the first time that I ever saw him + Methought he was a brother to your daughter: + But, my good lord, this boy is forest-born, + And hath been tutor'd in the rudiments + Of many desperate studies by his uncle, + Whom he reports to be a great magician, + Obscured in the circle of this forest. + + [Enter TOUCHSTONE and AUDREY] + +JAQUES There is, sure, another flood toward, and these + couples are coming to the ark. Here comes a pair of + very strange beasts, which in all tongues are called fools. + +TOUCHSTONE Salutation and greeting to you all! + +JAQUES Good my lord, bid him welcome: this is the + motley-minded gentleman that I have so often met in + the forest: he hath been a courtier, he swears. + +TOUCHSTONE If any man doubt that, let him put me to my + purgation. I have trod a measure; I have flattered + a lady; I have been politic with my friend, smooth + with mine enemy; I have undone three tailors; I have + had four quarrels, and like to have fought one. + +JAQUES And how was that ta'en up? + +TOUCHSTONE Faith, we met, and found the quarrel was upon the + seventh cause. + +JAQUES How seventh cause? Good my lord, like this fellow. + +DUKE SENIOR I like him very well. + +TOUCHSTONE God 'ild you, sir; I desire you of the like. I + press in here, sir, amongst the rest of the country + copulatives, to swear and to forswear: according as + marriage binds and blood breaks: a poor virgin, + sir, an ill-favoured thing, sir, but mine own; a poor + humour of mine, sir, to take that that no man else + will: rich honesty dwells like a miser, sir, in a + poor house; as your pearl in your foul oyster. + +DUKE SENIOR By my faith, he is very swift and sententious. + +TOUCHSTONE According to the fool's bolt, sir, and such dulcet diseases. + +JAQUES But, for the seventh cause; how did you find the + quarrel on the seventh cause? + +TOUCHSTONE Upon a lie seven times removed:--bear your body more + seeming, Audrey:--as thus, sir. I did dislike the + cut of a certain courtier's beard: he sent me word, + if I said his beard was not cut well, he was in the + mind it was: this is called the Retort Courteous. + If I sent him word again 'it was not well cut,' he + would send me word, he cut it to please himself: + this is called the Quip Modest. If again 'it was + not well cut,' he disabled my judgment: this is + called the Reply Churlish. If again 'it was not + well cut,' he would answer, I spake not true: this + is called the Reproof Valiant. If again 'it was not + well cut,' he would say I lied: this is called the + Counter-cheque Quarrelsome: and so to the Lie + Circumstantial and the Lie Direct. + +JAQUES And how oft did you say his beard was not well cut? + +TOUCHSTONE I durst go no further than the Lie Circumstantial, + nor he durst not give me the Lie Direct; and so we + measured swords and parted. + +JAQUES Can you nominate in order now the degrees of the lie? + +TOUCHSTONE O sir, we quarrel in print, by the book; as you have + books for good manners: I will name you the degrees. + The first, the Retort Courteous; the second, the + Quip Modest; the third, the Reply Churlish; the + fourth, the Reproof Valiant; the fifth, the + Countercheque Quarrelsome; the sixth, the Lie with + Circumstance; the seventh, the Lie Direct. All + these you may avoid but the Lie Direct; and you may + avoid that too, with an If. I knew when seven + justices could not take up a quarrel, but when the + parties were met themselves, one of them thought but + of an If, as, 'If you said so, then I said so;' and + they shook hands and swore brothers. Your If is the + only peacemaker; much virtue in If. + +JAQUES Is not this a rare fellow, my lord? he's as good at + any thing and yet a fool. + +DUKE SENIOR He uses his folly like a stalking-horse and under + the presentation of that he shoots his wit. + + [Enter HYMEN, ROSALIND, and CELIA] + + [Still Music] + +HYMEN Then is there mirth in heaven, + When earthly things made even + Atone together. + Good duke, receive thy daughter + Hymen from heaven brought her, + Yea, brought her hither, + That thou mightst join her hand with his + Whose heart within his bosom is. + +ROSALIND [To DUKE SENIOR] To you I give myself, for I am yours. + + [To ORLANDO] + + To you I give myself, for I am yours. + +DUKE SENIOR If there be truth in sight, you are my daughter. + +ORLANDO If there be truth in sight, you are my Rosalind. + +PHEBE If sight and shape be true, + Why then, my love adieu! + +ROSALIND I'll have no father, if you be not he: + I'll have no husband, if you be not he: + Nor ne'er wed woman, if you be not she. + +HYMEN Peace, ho! I bar confusion: + 'Tis I must make conclusion + Of these most strange events: + Here's eight that must take hands + To join in Hymen's bands, + If truth holds true contents. + You and you no cross shall part: + You and you are heart in heart + You to his love must accord, + Or have a woman to your lord: + You and you are sure together, + As the winter to foul weather. + Whiles a wedlock-hymn we sing, + Feed yourselves with questioning; + That reason wonder may diminish, + How thus we met, and these things finish. + + SONG. + Wedding is great Juno's crown: + O blessed bond of board and bed! + 'Tis Hymen peoples every town; + High wedlock then be honoured: + Honour, high honour and renown, + To Hymen, god of every town! + +DUKE SENIOR O my dear niece, welcome thou art to me! + Even daughter, welcome, in no less degree. + +PHEBE I will not eat my word, now thou art mine; + Thy faith my fancy to thee doth combine. + + [Enter JAQUES DE BOYS] + +JAQUES DE BOYS Let me have audience for a word or two: + I am the second son of old Sir Rowland, + That bring these tidings to this fair assembly. + Duke Frederick, hearing how that every day + Men of great worth resorted to this forest, + Address'd a mighty power; which were on foot, + In his own conduct, purposely to take + His brother here and put him to the sword: + And to the skirts of this wild wood he came; + Where meeting with an old religious man, + After some question with him, was converted + Both from his enterprise and from the world, + His crown bequeathing to his banish'd brother, + And all their lands restored to them again + That were with him exiled. This to be true, + I do engage my life. + +DUKE SENIOR Welcome, young man; + Thou offer'st fairly to thy brothers' wedding: + To one his lands withheld, and to the other + A land itself at large, a potent dukedom. + First, in this forest, let us do those ends + That here were well begun and well begot: + And after, every of this happy number + That have endured shrewd days and nights with us + Shall share the good of our returned fortune, + According to the measure of their states. + Meantime, forget this new-fall'n dignity + And fall into our rustic revelry. + Play, music! And you, brides and bridegrooms all, + With measure heap'd in joy, to the measures fall. + +JAQUES Sir, by your patience. If I heard you rightly, + The duke hath put on a religious life + And thrown into neglect the pompous court? + +JAQUES DE BOYS He hath. + +JAQUES To him will I : out of these convertites + There is much matter to be heard and learn'd. + + [To DUKE SENIOR] + + You to your former honour I bequeath; + Your patience and your virtue well deserves it: + + [To ORLANDO] + + You to a love that your true faith doth merit: + + [To OLIVER] + + You to your land and love and great allies: + + [To SILVIUS] + + You to a long and well-deserved bed: + + [To TOUCHSTONE] + + And you to wrangling; for thy loving voyage + Is but for two months victuall'd. So, to your pleasures: + I am for other than for dancing measures. + +DUKE SENIOR Stay, Jaques, stay. + +JAQUES To see no pastime I what you would have + I'll stay to know at your abandon'd cave. + + [Exit] + +DUKE SENIOR Proceed, proceed: we will begin these rites, + As we do trust they'll end, in true delights. + + [A dance] + + + + + AS YOU LIKE IT + + EPILOGUE + + +ROSALIND It is not the fashion to see the lady the epilogue; + but it is no more unhandsome than to see the lord + the prologue. If it be true that good wine needs + no bush, 'tis true that a good play needs no + epilogue; yet to good wine they do use good bushes, + and good plays prove the better by the help of good + epilogues. What a case am I in then, that am + neither a good epilogue nor cannot insinuate with + you in the behalf of a good play! I am not + furnished like a beggar, therefore to beg will not + become me: my way is to conjure you; and I'll begin + with the women. I charge you, O women, for the love + you bear to men, to like as much of this play as + please you: and I charge you, O men, for the love + you bear to women--as I perceive by your simpering, + none of you hates them--that between you and the + women the play may please. If I were a woman I + would kiss as many of you as had beards that pleased + me, complexions that liked me and breaths that I + defied not: and, I am sure, as many as have good + beards or good faces or sweet breaths will, for my + kind offer, when I make curtsy, bid me farewell. + + [Exeunt] diff --git a/t/testdata/asyoulik.txt.compressed b/t/testdata/asyoulik.txt.compressed new file mode 100644 index 0000000000000000000000000000000000000000..3a7621100f1e18d80cd82d1f86589dbeeca6c655 GIT binary patch literal 45687 zcmV(rK<>X=`sfi+$?U6&w4Ie6d*G|(Z6fmv8K9-XvcsD!p&Z*$h=!Jq9{mKVBdaG( zMMqN`2$;{=i+-(GD1Ob%eUTHF850fH2;BapNnG^~cNH1q$n zKOGAm9qtQ%rLctZ^A59#ii@c;TL9RE?>pa*=kb`JT~y*`@e~xj&mTQFKquZ!eCx;= zNomI8zwc-EUw(DZ?l2ox8(w);ZF%juXRoz4z8}mkKHI#;VzI+i!Xn+yH(PIrM(maR6Ws;>F+XR-kTU<+B&A!*dr{@G-T$Ho*PcoW%*|7YLy zcA-G2MkW)Lp+>*QHBB=J7~>(?B%E)5z`gdvOB|aQ1*6gb9=OA2H(+I!0@D+bs#{)j zZ#vvc+d0cZMD?%~bYhKbl}UaQ+f8^Z53fFq`mvumYo(UfR7<7q-*|;hz@Z%So6m@M zs2=TO@cwqmMwRP(NPRzB`~iN~OcI@98SzY%M0d->F>4c;Gjn=JZCE~?hFAkKxo|$KJ2sqqlpy5xVB)P&tm?0 zEmq^~e}8^*PSm=NSH{-Lpo3zY)b^cJ$;$APneZRn&Sk2yUSQ-)eB8-H-OA@sgxmqY?`$G(BebLy*v(PtQ&>=-^L-^u}AkR#{d7QBBuYV}J!A23TMoS!}qXwV}QWVwMjv0#)l0sKQG zZqU8znyCOO?iZ3=Im@gyBHTZXI0>m}P)ulC@yGCk{+x7}k#N@zUI>!%uQ~~!1v1vi zk-HD5Z3H3YsAA5wdvTCt_w!-Fr^2|mM@_rUK&`OIlFq{hXP*@vvUA8bjDQ@1SF9slmNZ_Sdq@lN08y6fB5{5 zNT6lG9YxkcGvH}h7|U!yP5Jm$4I*^J2`RHcmRrDLe;#QRauffNd?~tPdZjrXLAS2J zLXJt$SS49|ie%L%d7}J5{O*(LTg%ZuZU#uUL5+$r3P76yyk3+ic6Yvm+&e(WK1y6( zhli-sRMCY%Qwik+G`1I>SuHMyzZNWvkQ)f>S!g;7L%J!#+e)4m-Fm61uLV8Bdgb}+ zJy*~(t)X<7%ZoK?t1))jj{`I?oPgfgS2%!?Etjgiw}q_;2t< z`~>o?;A={-)r%D-(s?sCEei-VePwVK%-_5W5`)b5#6vZuPRrdkfBi$A;7LaV}ce z*CIQ0Gr#arliBzn=6|zF!As#3&5)tWd;d;JRuyK#7+*b!pzDqm_CWyc>>T*R4`RiEs4!9_?EFO&Q@2i6xI%JYS>}uIi7Z0^>5&rZAKKX!7vL^ z1!B<@JdgH|@+2HTtdR*?Mc;If2c#J(>HEU)nIwy0(?5=d|_zS(By4r_V< z%KoXvsj842;6_VmxaX8CWR^6|CJF3#KtWJCcH~Cy@cjh9$tf{WB&H z+^X*kayf9ecWyY&n~aPQI@`uz)_?)UEO5o;9dGdRk%=yR{=0aAA4~V|!H47n<3!PS zpfPER$*qojvAQ%uAvRaiu66_grwqmqD_3DnSO%P>YjLgdvGW7%3*S5HT(1`ts zq)E>8e$#Y=i;%v&ji|iQ2EZTq5%tQ`1a`i5i91@~Df~@-?NL%FSf}^e@4@Ia>s}i? zk4F{X64OlQD9@$2l25LmP#1i313u}mN=`6mFTm z0QNrrU)i1QONVE4e9=w~v4Qqe8(p_L5d0M`SP^)TE&o$ET3TJUQv`K1KJS~+>4>{F z5pK>V*wRu)saepQ{#o4`{KCI+X;q8GD(m+|Cg(&vIB)6f>lN}SJ}AKeY*;EF{z&EY zs+kCT4QMFr5==L0-=s;E+*1v;q%=AsV!a&daEM?dqEbF)ok+V^hv|gx9~&f3yF)DNqF`RDpFFuV0{=&jdFv&`CZ20H40YF zI|B+hozaLGGHd*XE50=Ja|6)8fiDcBluM#Xsofn{ARfzY=7T<;6e1T#OpI4EkXjC2)#XbG51=(q$i{oPQ)^XEMoX z;u~#b>5QY?3(Q}EZbv7UmsE#f>Z6qJ!l;LMDYD*Ocu*n(1TikHXLdI~{+v=ZkGA}# z9TX?XF8v`!6|{lgYy(X+nx=$2#*PwSqo2!)4?0Zb51NK|al|w^-4N=YSkLM#91M>5 z2eJmZb+tAf%)N~=P>B#7p!tPsHs*>CJ+Fl${I9m3fmqNtJH{3J51I+~_@}J_i#@4s zZK5wKW(uECRc;A$8rTf7<$gY3^AP#2ocNt$Tu5w4(5Vfld=4kdn{|8S3;c$8D-7+Y zWs27a1>~XVEFT)2Rh+$;YRatD!g6}2asl2NX;edO4@!x=jCG3u(OT?LNXV~IObt)% z)W8%&-9K0+c&jy82=FuD39|@)BH6dXGkUpw3BKSHObjWR9h5~o5QOZQN04&{03zRq zZcUYsL(4Aud4cM8vP+{0Gk)RKn6aH6NdGqk9{3C`ZQ!=cg{?ScD#==fMYJ#}XX<}; zN9(Gdh1pm&+(?+M<+#IO(?>d}XK?AKpV9k^&~QJcP{zw7uKbL^cIvkGcAlkuzeaL8 zmz~UX@xhFRviGwD*7@_(P3hLiw%BZ57#`ZAd3)qkzQE5PcaxsxZ*2Lk{dBbF*(ADQ zAztl;bS5duQ#!)4Oz7@n>ry@s6n|0CX!okNj8bNIT7{OCPwg{V5%2kMx>fCLKxIk~ zt1I{}S&pK3pu>!1PkZ?!IKS~?4_#>!G1l`RVcP;?4_x#Ql6%{t@yi0HiaYcva1Nk- z>?~Lw4(Epo2D${8|G2gRwwu||9W&FaKL@L1iRw();)0g&U{T%PPdqYAj*mtl^%td+ ze}>jiNB0~FSJI{pMMM_iBXfLRiVdlIOEaIud&L<%XUJf3(^(LF@eD*lr5;Z|ji-m7 ziS?tZTw2W8$67uX>E|JSFffw`2lQ5XnB*;lLo-nQ^_zADL`4YzT<9TZ`^0lPedlZpN zOKv9PvdhoR6!OD~A6C6N*!Ys^`9VO8G0XJy4;$9NgM+I6Bk*Xm965`_B5f^^Kw<)v z+Y<&k@Z@NH1R-IY6_}JUi}*$S?#zG3zy12?Qp6blQmK5n)MRPT%jkprL#HLm-}4aF z-6$Od7gs+;qAZUND*wI&f%m6zi~A0X;m>YWa;qa=*3?EA(G^wnb;Kyu67zaO1VE|T zo6|zuZQJ9iN_){g8%6+$wS972EXxKVf1qP416<-NnOq(LMG}BmXuxBuP6rSqedN=Gf+g$si2o>CnHiFr_w5N*zY`dXpOz{NdU7q zPc?WS4NJSQ0*G0HE8_Jmo)l?oEE%PDz-#Y7z z%^5Rj2F2B2K=6qD^hUES_k&g?2HJD@ObeO$fUG2lqgGM3`fgDh2cvpFnW>QM{!gz< zzia3ko4uS(B)ghq+vxzKaoYVql`ss>RV5@f=dUG_pU+h4Y=d20o1sB^De!C)hmDrz zYA~Nu+}JXhccK_x1V-YSrpq=gXZOYo9n+-@BAoS1@OlqhE}!I%47G&7yQqcal(9f7 zn%>!|*fKr40>`;cF~^xz8)6Oc?diYq?;S%e_G6=;KYdo;Vb+C86WdW@4h(4SOuyBc z(X$plku-)}!hDJdU3wvLn+t=bI`CD#)X1_nq@!4W?0a$_S~iHNc_d`hrUwINsqjp! zl9FZ~Ph}egU3;$5B>X7illTqBEAPX+z-?_KkP5)bLc=2`K@lk6+IhXTmfJLVoGA2T zfR|mxm4|xM%O3}x2?P!=f@P>XZ*ZS+IFo{x_BYjusd1pg?Aal4Kilxk=A$R zK^<|XI6I~mu+4UuSStXwjJDd(RK9CCxCoy^Upa5GBy8lfc+RPeAl*fQsnauwC$@rY z8sV{K*Ym`q1X#w-AdweW6OOEtMB8C^f)ESNKjrAE_N|9_h%K_oM;8pG$Eh~Gi-*FO zz9yB?X&>#;^)2Q)B(&%nIV+3yM<*1-lc|vQjy5_g;poMi;xyjz=Z~Dm?YgR)que;h zE+>aXFhYwflno(y5UY6>+D%?sl5RUMx5o>JIA=nIU?ELw@zWxkgC1^D?&MOR!T9n*%hj-3x-*=-7?svfLV-OEna4}$ji*qN8Ef=Xt4$B#`)D%OBL z6z+bx4>tBGroF)y}-HVV3OWIkmI z!}~aCYTB`;pWB_`(e;$j{Q-1PH$_$8I%VpkKesn+BYr%>ClXv3T$wzY-KbukK&XeO z?U(E~HQ?r<6)K|C$orDD&2F0V6>QLtWhcV!)RkQK9lX7hlbj^#7u%LYqJT>z3)c~E z=QLhGw6LgIFc_nwzx}x2kf`vfN5@MixVy1F!YF?#J4b?UNS{=?>^QkMzr;)6{ib5& z1E4bM%?Q82QYi9bK1mvuzVMO-*sQ%E23hd-aCA`-Kjp{lb?nsz*5GOJPT1r)Mb3*w z37F+5>O$J~L1S5YKG)@BT9fi;6BnM`&wu|K>%bp+>H9RzMSf;rx)x$XO8Ug$nu(V6 z&)dhfSM^W2L^s7C=jnHd#fo3n-fN#JUrc^uJNT{8sk3c3u+omx-oh0lE4IqIG#1op z;zd$%Et1|npc5*5R{Y?oPDPFV#vs%*JA=6ozOIs+PqQWMTVU#T->hNN$SYWUi>qqEJ`iWtCY+35{5?GK_>y>PYxR6|~T)`_q}d0|?80|~YV z&%{Ai*F&4g+(Q^=Z-Tcckll&_$gS)XTMk5{E(wrt$nR#ff#_{S@*;9x;zN8HyYj%7sUYy!yB}7L%9;;_oHO{VB+12&JsAUR~nDw(7 zoeF?Q+aH0$U5{F_@7#v8D4G_0ry4Yuxoog1y&*ph7SUf5_KzKL6yJ|h=Z9Z4SKN2} zWz3nLs>Izym!#&!A;`^jFRf$Tll~fW5X;>M_4q&QM;y*q9Vvnko4)tPWx;@nzpjym~k{`}pss;0M^ZmGG^^2_w z)Rkx`d?odA-+fCz`QyB-r}~Kt-{-OGVy1XV3pd`A6~rCF0>+C!>p*R8KQ6 z>6mFRRL9-1AV=8=gwSjA+Ggcj;*ZbVz~p8iM;rDd{xZoPrq12RqDZ zs8VN(Qw6fE9xeUa$>{N522Kf6)Db~gd71=JUuNa~a1RuJAW~O{&rn;dQpeHtw=@!t z6IK+y5Y|ljf{l^p2^j=zTd!XjmRgDCp+H=@cX;`Drj{Gd-#)H*GCEF2VNKHVjLv4? z4WC}qpkich3w$}LTS`4LA=B%UKV@e5!!z&%H~*wG7_U0Atb*Vg^uikG>W&{@FT2%f zE)dFoHZK^Bkp|BYFvDBggOyVu(gZkq!%=JHi|!b>f=}@w*IR@nJFLl>mUO7iW8Bxz zDvg-mjio)=3^_2L-FhoDCkas`A@5RSyM(fJ+$%#aR+b^IdPlI-!X`M7w1#RoL5vox zwpJJD!v$8!+QSM6k**~mzN7gkKHY{B7rHuIUnR7zL8A~$pjfV~t82pA?ERC4x& z{Fx-)UyFdg6W(1A;~?kxWl8c6Tltq|q8%68nVtk$JGh1wh_^6X`DF9+&#j+UeVa(h zn7e(OOm0kyFlYHtRl_KUe{^PE{o5$~gF8DhbB1wZ*Y3l3K0`|jI89_P=3B9BwfVs4 zeWo+TaUJ^;?<4#MLd$Xf`^&I41*vv@m0tHv&=nSL zhvGKz!THCvcti~qnldIkTjB1Dp~RpMR%RkuCyJ}}Gwa?Ph7`gM33;Lq=&jWi{Fx{G z5ff>~Rykk;7ylp3&*FF4(;=M*65=!DPZEQ9n1Nsk6^+zgf+Uk|s9GZo(>Ja1bRr#i zp#M^I6Q3J0UUripa2=GCZShQ=ig{(ZcN0SInxpE#Mu37d2DB?D@medlvJ)Q*xS-Is zrkgt*Y2sZQasmQM+7tY2G&u7?li`@=K$G!`x5{G0`auIY;02j*L{2!@^!b0D-b zWY1V~Sj-_}xbNQyQ&H<=!>Zoj(`{TGUZYnroQ3IJ7YHdzAnTtov_r@Aw|q6=JUDAsZOo70bDoY@!v@}8s3}88bE!$Q9!jCeS&I|V{&cbmn9(5a+YOH zjUiSxgg5siBESt<3ltcl9LRA)_=vj2pd^UqWACY2og~9S=p=6EvxY#at8~D&fpWVr z2%HGteA2JQP8t}$GSjxT`WC*G3tpP6K#Qj97QS7L{4!N5pus|%?%Lc5r+`|AjwX}* zCTG!oiIR0$lg|;~fy-fE$j4+#$SBJc{S0>aM#o7Uw?&e$@TjV^`O3s_`))BhwK>lp zlO34ZEZ*y~vzUZ%GCh5kEVZBhdmodPuuIuz- zs>O7mH&9#=4$WPzk~qi`1CYJob0YfPr)A78KPhJ$@bqirv!5ufM{9Uqpy5*E5m`EP zDU1`M7!8opds39y72@}*;kMAt$fOCi&VcOTp0zJetxg@cQ=iI$2whI6(0&thU)eSd zpgi|mFbl}4T$ts1l}BQzBMGU*wfnc91_u0-7I!qYSEHw?@LQszkp9=Js+)rS@4~6p zL>-wU;Pc8WX6=pyS1}YZaal0s8tno4z{$X3r z_EZPD`nR}c_<^8<;j;;>-XrD+t9bx;%-BRu#;avuk^)e!wBO(BO}P!?=HB+`p&mV6L` z7hM5DDl>D*DI-^sdO~+%rn`oDCSchndf#7iK89qPvjW0Aw0ylzD{@*&6wuu) zUS}WN+$wM^!NBMWt(3d%%#=nTVpaVtyQ+V}kKNILn#Pi|FcXOKF;N4;tO9?Nacq$f z=9uI>`(~Icn~|+`3(d$++hv*&jQuz`TRtr66vCu=bIY@CpShz&Xqlg=tV|;b*wXDM zMN$!NQ)v(|T>vu>WqxTfclA-GpRM$Kxa5HGgUjrvf12vB3oFD+jbbKNd0=dslcWMt zYYsuE7D}(rN3^QAgH(7Y0QGrJ%aLAn`DlZPpYB;qR`h`c5k9rrofkq97QwCp38u%W zbnFx6`Re=jNE@;vhP>Re@L}+ybv~2=!%|x8L@4932R^*)o)GNuUx?CVD9*InrRt)q z&0g1VROP^048BpA;#TKWXsUT>6@pj zI$1#mjJkUH$GhxIq&?B3G^5UM5$j!w64=|(NGEyn&H1A7$fmQh@Ps9Pb1Ra~N}X6n zNU}5=;v|7$@+O39TgbMM7QTj%5cWX8? z!X)nLxVw=vsQ%mWWHNcGACmLSp*{bX?2^kRcbXJ&hpsxE;8~J@wQ)eN@b2pX`|%P9 zK)%s9ui~L8a1@5i>7bnAw$<96;RfUIc2Ehr2~4*Da9`M#4~?He9lPJF`S~wCS{Rc5 z3u(VhTbn9aUSc4^rrX)4wfKsgvN> z(d2Xvv*e_$4_^)+S>qGHX346Crsbk7%=~_^bajf!*TR-u#t5}$GRJuqK4E+BW3*6LE1um8Dr3z`G`?#aHqQa*5tV^ zy~BXFOGrki^T4ZoWEhs6%H{O}Tq2B`f>C-XRaz6R`PMXX|J1Q-_bkHfI2c1qFnkF{ z!hiYBZC5V&tU9FXJzu-Fu~mYXtXR~uWcHNogbBQw!A0}#%tJ2NF+n9W?V=~Qe6C2Y z2q;dIYg`>3Sj>%c^TMT=xftP|$YBZ{C6V(DUWroyn4XOXBe+PO2DV=;^JXwQiVDOP zn3o5M9BZtSnwe(+)uXSlIPb5{;{46tA--1I)hj5Ue9f|Ck}XG9yqPcYy-=&mRWl@2 zk0c0N>_X9pq&2}Zam(MHt@+}}5}<8(5EH!FKy~8CH`NuOC|W{O4e1bkB}+NuRqgiN zj&CCr3K__x(7P+<3vzix9xH($+56iAg{|+_vww&L9pjm0R$Sjz9J^bVKfvLazZjb{vMfnCfob^EBQ=9#c9B(*0+-$>Imh4!;dbi+j8g_$AE{gky#ec8~p+8KxBF^`Gt$|nYeg_SA zhMhe5mu4x_`koAAl;l$^Mf^48jTp_36J*9r9Da~SZBJ(sAM7e^`1UBmUdgb60j#qa z9R?v-a1a^GaUOB{og=;@6NNa(?)bYs-1s0-<9uNb4G+?rUCACV&J-tnB`nh-^U2Nw zd7gXj91y+&F`O@UUBT^&5Ar3vcUbC~eSX!;i`)0r_&!K6GC7G8yuDn9UlflA}x$;1Hs0p z^`-|*Zry^#d+?BDI}Tv)R!)nkwar=G`^uN|TqR(UZV3YIpVEo6LNy$IVS4|8#CI%o zPA!QB!(t}}`#R1)2TzW}X+(3qh-+`E!2?9YUf4BWz5GK=pAD{Ax?)I?mMb~(#|vi* zh{Zx)@S5NSkv6{qr5UY&dtR(J5r9gAu@YVQ$u^YiHHeiI`JfEwfDPcI(4y>^1@UW- z_Y#e|Tqq9g)N2J4Mf|74lRw=w>7$_Vo}DvT ztQ$C_>-mbVRx3O2*^(OFd{hAHTCQztOtsRmdZ%7}M-$yd9vnAIxuPTO3-$TR^N66| zkMmgF-*HnqETf}clsCoVXIs3 z1?q!ZMuEn<^GkcGCGnI?77uXa*(Js_24m5O^1;4(%{C6*Xe;yw((+obsWHNV{ z8)Q`!EHE&52Bn&e!8_;GR=-4f5?OI{3B=47Ti*Gu3wYj~ghpaVHkdN^WUq6W8_lX? zAlvfg8$*ueEDoxd+=frEQ@9=Ip~V2W6V_ET10;;}4bP@6C+Bwqt-ZHon23fKMV*+j zv&-;=h1YgcYE5wqG;)haSN$4M2Eqe|8qZ@wt{fup412~9o0e0W$yxH!x^Lc!+j}=> zD4;LU6o))UP+iJSL|8mwusa`I#0XQfsf;Z;spI%KsCqc`nfM@Tq8p1(|WW|`d3ieJgmWG6E7%6AC zdoZAy=sVM~zzf#Si+P~in;$ou=9SNecB37e*zFxHCPM3fzo$x69ELrOYV2?MTj0fkqQi- zV6*JnPyFCq0%cz?!%3#A%eg;0IEAl_-u9k(bY3ESE^=N*QgBKsyIB%d$}w<}i$d(p z9Zku&%3{8qEb$HlpXG=#voOdUx*6!ue}ftfp2?u9xT(#F9pI7g6%L9HQ%fGNyjgU~uQ`PxhKANx zv|eaoxg_)p!`H|% z%u=R50O2J}(~524r8S?i7gi-?;1FB=mrs9<%|M&#?A7+`#L) zZR{4zPawB;UHxk3kR(76PN$3u+X$XTA0uC~viLM76bIN5oT}J7Q$|pyld~$L1rrQq z2B}G^VbZafdU{y-_Jty+Qu^8lm^*faRajywD567s)Evmf=(J}s>z89mADn58iO z^WYWLxa%QBNp0EUA!a#)XSHRUSc9cUNJfXG6)0H~erne41C7H1?)J}$RSi5{Y7-3~ z`ExeH7sR%T*n$%`CtdETBSS)EsuQGI3wuI!5s)Hjt5Nhy`K|@@F~KkjKcjAo#s~i} z$n~Jtb<4buH9_q0U7D|GDlNP6?&HIGbdt!RLvYz8P^}BJ3-uj{QNCp_TAS0%t?!D; zMQ*soH{$J2a0^*fX{eAEq}iRQ754i=s?|4CF0tY`CmDf}f*BmN11G`xC#eQ_|7oI2 zRM9bF#DYu)ngg=Rev?7-^4YHa_YANxC%6smPi6fBU*6dUZ!E1!gUT9V5z|oV=Mcu< zrDJD7l_;5Z(cUN?+{4!Hy7sQf8Y?8Y%*vxZjX1!PU?Nm@adII2k=zdaaa5{gggED= zTm;O9DNom_FD1aDv?(ujw%Y1jMn9EbN$^Ho4+{}eaE)6*!11l zZv{xoSw+wl^ngXDiR3vC47YV5o@q`^*S2Lh%tsgn+j%-+SJ1wfbb^mebmPJaw%lZS zIXUX|iXZccB`@ECq;#CBH!mN>$bOV(wyB<0?o&d!x;j&JIcmwrcgL&*vh>Z67a;-} zKcRV@a0nE05kK?#5ekm8)}@%ilOmX^MmBPTrap_Z?%b(F zqEhKzgg*wlMEz0ir!^VH8UjXgQE4oZ;~iSE7DO_qN4_92bT>x7AP0Lw31vyeVWEU$ zbgN2Z{;<+YE}uVZo2!FyE8|8RateJ&M9cxhg`B46Pj$A|&BZ56JbEZ9oF&|OX4C7f zK7*R&_WuOOc_m z#zJI{TxdVsk63)-F??t`HKtE9Ee_IZacL-spS)+GffG|7pu|5qXVgC@ zanl3KJREaJat|tE2IC5krQ~YbriLwNz0AJ1MA#TgrLla~2sYbif_B%2CF?}BNPJ^k zV6_}OkBNXP9&)p7<_*eexu{=pN!PRbMwZ$6$e!E9ST>fzbTD7aqSwE;mknoiQGtZ{ zG1G8MTJ+jt9Y^HD@4PIr(G(Slgb~eFNo;c~(mq#^SSQ*uX)#Ya6Kl7i?CcWCC3wt3 zJstRJJi?0LzOmoMYY;HWe`%@~(%nl&MT8xqEKAm(&LzM7+!2@5mm7iVX zuJ3rtA(D%oe08Jhs@Dc>y5xXqkSnN`bH>-hq84^OFlqJQb}PAcQQ|p%#hr~0I_x8n^)h$u`k`KXjYT;?0AGa72+nPHYj_lGu+9oxUFeWx4LwEQ~#-yyeIrk2C*$qzli ztp<(g{G#%OP6;V?EEoTY>;u?4=2ccwrn!Sgu2qn@o}2kq`3#`d9K)P$RCyANN^Sz5GPM+*||KMY=gGPo*kGG=DO>q zFP=s5fqKuuL&?;fmn&g`Q>JynKcW%NN&g6;9SQrHnd0X~`mytf9*Mnz}*zJOD#>n}C=UT@$=3R!BBG!j5%j(v>NEL%#W;4Q^h(?)>!%}`l^Nbf7 zx)TRXYRTbiMSs$A4O%~w%viFWF0*q--0EKUkf+x*fC4DD%cIC@_XT(NeoZ4g(Q0cCiPLEp6MmO?0DgXeDs><^yObhb*S>_N zIDM5l^=9R`w%|M|j}EJs*{WSp(KA-_Wsr3rkYJ3M(REqcSmvUbR{CC4pJ5 zEKpwWQoqLrKm#*~w4Lk&V6b1_w_HEA;u%_`wcY59mT8KKC#!#@PF3KJ_WMnX2fNC4 z*+}W(lV#Q-KeLwD`X*+qLa8ZG+r<@fHvfFprF!xDpmn{k_lv|@NsL4TK5nu$qO-AY zk@s~%T<~OAAWJv1UPbm_G0n`f&B#EYy&1llIAH6aUf8|w0GL-~2(XI7SvfWu8pQFr zZkc*nNGNDuOnE2Ya?q+|k*7O=Q~XPV+@sg}PA)fsO{*93{Csb0zzW3 zhm$5=m2*~+p;GB_nOzPa_(E*izFm9%Icvts8T_)PHt)Bb739JYHY7GX#=TV%6JN2I zsQ<^Wh6-45_OI~%pE}@8rd9&-q=4ATx@N{#MK@H$nXD&?=(GpzMe23TP5vG(${!y4 zD5*HRk;>luQ|{eHqAoNS;i4Ps;Yz4iQMDRd9K3MmP;klVqE+m_BDXRc`e7x^S7_O# zEcjBZQk!qL58iW7%-5Z%wVdCyng!UcE7g3Fp2OP}iO*UDF#s^U4z%6!z=W~s=YPTvr6opBxICM9VHqHs)t-#UDE%NoF5_z#OMQuuiLEK z9wphZt?C3^M0+xwDxCIWyX8Mm8DQ(^4yBtvUq4$NH~szemMyuHNyE)-13A6oTl6I> zKJ){Rk3^<~P)P?1`X10d`RQx5^X08v$FZzjBU7OBJ!}I4@dE$qXCQf>;{F0z@ezvP z*2J`dENauW)j?ian-jMnOvc;di|?1U>Pl}`KhsW45!+E9+_EaXwuUIasjA}QJJ=US zn->~)2>g^bIMA8S>+KQ>jRTjgxqK*_k9sYIZ{6mN6MYL68z7gI9$~<1qh;Gsci(~i z+PcA44xWS!Mir6jv*j7#S+q_IbZ0F2iZw?7PbO1n7c#rtXHj_t3l-W(p5hGI_cDiO zn z-XuV=74sVZ@d8ZW=du&GzU1IkOO3FPr!?9?RghG2t|Pp}jOh6qcUWi?M~HZ%4plau zG0hWf!2eh<7n1NtDCds2Wa>;ba=@4Ch7xuYPdVVk*Z8>wuCMJeg6kYA-80X&K~5j0^OnG!Dm%G|KsAxAMx#dHgt>|rC`&YnNjSBv)l4f zy6SmK{Zm`LItNt17+r!-@C08zLknSQwyy3m0(~epMi|7<+$|uk5|u9MOxMXWn2%aU zZyHiV*Y*kP#6|vId!c*bV<#qJIL(#sk0^?!HTAV2`l-Qr+|jJ0^5{ zQ;@$S-O7^Y_)dgbZcr}$ns;e9Hr{o{PCt4wMi>YIIRTpkT4Gi2OGPu_l3Y+x1ae(F z!6L%TxWuq`Kq56(dj+3Vra!_WJ>~+@*PJI20(QCTRL9u*CW5gHA58EFOH7B4%joWX z$2-`{^E@f8_`#kgp)672*yGFrF0Rn0O3u{uy$=^Kvp}}%Er)&@>m_G($`1=4^5aTvgr|044^k>D=3=8?1G1oXkaym^TV*!) zZxxL5g*dpp($&|*K{sYbi2>{3D;P|c=Nm>W?IVsGE11Dzp5(P5PfPhcne_-mKrF&&14f(c|izZ^IueueAJgth(U}gu(*D`s33+v>BDv%F>gbJF=LpzVExYeNF$_?vyXT0BmxLfU=Kb_b z!5szDJPMSf?)fiU+q@W)@1kiF*392fDs=%K@Dt@(-qw3^cnf+Zl@vuWOD0M0D)L&M zG7B%MJa&LqmW}2$6>dT-&vGhCv7rf*KmA|MW%Ed1x3wg#=*ZMy_c`Heu}NZtz=MyB zAyA+8k+~!wlK%L&cqT;Su1K}keFAN47aTAa#DEv)v<-N48*bpmrD-0yiZj2W{Ta() zRN&zBGl?68{@f^;PIKGsbj{tG$g0jwrRW*g0z9^kn}h3I^G^O5AsW%q98j^qlno?@ zS)1GO+;{NycFWU*j_M@%goOo=5GqtxYW{fvGOJqhYQDzxNMB(P3Fk~|9W z@fzN)NStSYi)hiQhy`HJaO2uks7`|uz?E_S(Ot%!CNk7ZZ?cQO~%La}_tJr+S zN=qz93s#UR^(Z@u61-Hz6q1Z7P|P;ru3sHUg!&44e$0SM7c8V4k-i`-Dr1EbbwQ`Q zPvF&^4Q$vF-lhvR%(Lfq9^5t}{6PLujHmeDS7snRnq{5q4+8 zM(O4oHFS_T-UJoIhg-|3FXX5-;iT6*vMzxq3R9@xo*Ec(0?ry&ie)&e#5pP2{GO7MwqJ3D-G^_L}r0S5}o!`h^{_CE+&EL8TWV5q#Dz$#nKQ*sIqUxZz zDiJxQec;{70t+#l*w5UYh?IA{YR}WXT~_IpQ)z@2F9z4aJ5CrJt)y?>GE$aHVH2ol_mp1Y#c$xL ztsRY;>{Hl>u3r8j>2Cz?rO}rS5jkHmT^IT^DTq91(!MD@QvTM?75t%JrXziZFjuX7 zErK}HtKn8UQD?z0=LO5W=Gey+o83;d86ZsW${uLOEbK>;NK*4m$1hVipdvQg+JFe6 zRo&Y}6zQ5yr{Y@ITmzYl)A>5~oT$dHJaag)-osv&KIT%ng)B>&SBB3O8y2MuFdt|{9SBbrN3w_Z=P;GCJe1T0)|2RiTv)bXeU|(q z(;N)P7Cw{qiD1o1<^ol+(N?!JdLrhOS22;1az5b)3izNX$JNH&_G*l=7dnhWj?uCb z{9k*0bmH(A*Qb6uxDA1s7Y7$+0?Opmq?ZSsJSb6-*yX39U7#%?&etp~H(qRT2@SW> z-EeFcO#6;8oFe}?1#JAA`6%tkLBV6ga1@;go^{vV9Q*7Hf$t5mY&R}H5COFP(%~^n zC%7BUQ5J8xognLzt$1y4eglpXZ5KX398RVAL;xo?UNT)@sR5Q@ z+CSX#;47PJ#5P1}RZp*`sTE5aU2Fb|nKo#7VKR{IuVm?Ra@ms5AsM0Ib7})6-0JTd zp(%|~3L>dIs{0Jz3@*#A8gAgJS@u`lP6&rBXZ@D#2WTV>uD@zuPWD6Q!BMC`I<>=c z0#g4ozmvB{|NH;_Zxf=~+8q2XIE&P)_kt`28ej`{&@_+3Q=r}ksYE{i0Q5DKazImKQeS6!fg;@613C+s_=(UavuMVlFb^N7rZYh799G;(tVxw;tH#dFgj3m73=d^JQb~4qt&K79D$;C_VxqYn1AX2t=WySnlL{pcy!|{l>bN+DBTPb% zTHUD|gXKyzEt^`D4k|vAcZae*_!azS6Q?l}Vxq$L)t(>ZUC$gImoiz2-l@HCUb59I*vFp3iqKEtx8e)@t zu_%hIPYYe^sm@Tmlr4-HUi1FU=7qLIwO^Hi7mm%B23tIUpUpS%9cS2V+pb|}#Oo#cBXDD#hW2-CJ zPdSqoCgajm3xlfDCf^q=-^Y5@!kGW@@}b{Lk)4_R|JXRF!dKb27wp9B3qB;4MNXg> z{bqO)wo34lUgwzHe?J5Q1Am;`-;4YhZ`>DN*OHn&fhY0;F20$GOYy#0Zd2B)e*J5-5ka>w_(v{@ecgHI8^<>C87*zJg*N=~E*8b5fLQ6QUUf1UotX ztJ8+kRQ%hI|LJ{G$5dezbTx`p!_M9jWEqjFt27QQ%Wim!H4a#7?9S|ER1|?rad4J= z$z@z!Oz##26X)y1|CFJWR(L$VQ38#oGRVak{PQo8@nwQ$!te>c@UI?p(waiEucgUd z{Gd9Xt_m4lEj=R6&b(Lv`dSAG>Q<4#Hi^tp3m_HvbK+}orbzZA;YLY=rB|LWyN#Qx zrDKaW`{?Xd5>lKK4)GYduaW$yBwH0ejCT4OaHMX^wG%cCOXp!Qs(OylYZb?)jgBy6 zUgP4GiYn`P@dPvl2#y_?$$PCSs751@q)uuunGpub3RBxT{k&!QfGnFh?cGc!s;ioA z9mh;By0cH7VADnjUF#FuJ+T?raso*OY`F+bl6xV8@&Sjx_Nz96zT)2&b^UkP;@N|7 zUa4S&1;rqSY265ZY3^d<E zSdnC~UY1(aDhcs?B4L~c{_6ER*;MRogkCS|Hx*db0bCrw&8vvuJ+#sCHIt+v-!g14 z`R_}as&U8RkP92VJYX;P8HF@nBdAIw0=d@J!KIbk*U3f`k2DHwLqPp{n+6ftkO!DF z_->Wq4+=?au<2QA%F9~)l6h#hXSy^Z%zCB_y`zf$K>#(6M{ZpCy*pf!BoLhfqz?N+ zeuvWi&)GPrzHR z)_O5-q=g2EiG}%ICvNtu?W!X*=0M&(N1X8vWJ{WJUvr8V(sv3eGy}*m(4up#!B&AD zfIe4fknrWK!BKL=?TewnDY=)1E75RsfnxdLkciOL`fi*1InO*=37oLzGZa8_iQvY6phaz(pcQSy-+;i&bL(YQ+AXS9!#!_TrL={C`hpNC0kkJrm!(D zCof1UOki;YIT);liO9wc`ZQ?Zmg{f?oDq%KKh+9}*KtC_I)CI%a+R`b(9xFU8%g*| zzAA^Eg4f5+;#K>&lk5GYDtLx^q?7G>Lrd49fACtcG~Q8S6RIOvpbh)4SnCSAnVJ!A zfoEsI)s5+W8RiaHJ!6^(;i>TBqMr|fT3{7U5KRT0Z@_1_SE*ofS#ItD{{NKlUsqjm z@?>2$d3j<`W&&7>lIW^3Gpm{EvHb6gNjE6UE%YX5OLzW) z=bKBg0G|u^S{%n@2cEMw(2}>D`Fpz5rD}%p>fRL128)lL z$h>gaRCZ_sSG-P`S|2s*Wvl!y-=8=e5Sl3_|IGnH=d9sLKkdu0sU%$DCBqG|m`{Fw zN?Rq*OPx`D14s}8i99FZ4-oD7)7@DBtZ$W{uoM=w@7i=d48rAz4Oc8w;5q1mT6$d8 zptg_@U|Tldni0`Fszt5P5m{6*r0f5UV|8G zDh>PJc@XHMU*HMbE1N9egM}z2ofeUqSuDnnyn=HI+OHqo72s9X2p`ml0TW9>!0@BZ zdd^A%C1(JPkB@E%d>>9sCgtA1%w~A8eNSnA;-cTMHrq#fB0W(MvqXB!kfiu$W)eJ8 zd095-X|rLtuG=(#2}Ulk`o(!cE^ikdJ>^+wzb?3#P zzY~>$J8-F2zx-sqT&@)uGr>6eyxP4J3nxg;)Uxdn#LAWt{r7m&2THu1_I9IVP6u`m ztBEP|0cl#n9k-6_5r`+viuPTsj>_`snW;;}%}a&YdggQpt&k{LqCG@xmddj)6Z5_{ zoZxovLU%M1WI>dTLQN_Ork?1NJ_s#mx(DWd#{wt?>?<`&XBkg%F56vOH1c&-@baIg zIj%kGmP!^>4K?OaWW2&Yn!3|=W&n3`D7gfC>t*?6h)sRJ{~Xkz%RPCM9&9zXBJV6Um+=Yu{!S@%4>aIhkQj z6#PpD6?m8B9OA5g5j8<;jfS1+@?d^qS7AE&3d-sOtM5MBQO+LVu+04nhZ%FSWQJeq z`fZUbomTv~o4i3$Cd!*g7HvHvsIG%f3D*X6$X}V}4zuu*XN0l2Z3En$@yurm)kU_k5JpW$^?B)Y~utb+4 zW?j5|AZkeDC6Qrzc6e=E;@VO{HfP4kS~iWHs#VjzuY~~hx__J@v;_t_C3A0_4@F0x=?8`Jh0R4M*Q83sEcY|CUyZW5>Y)ZfRoMViUntzY1VQ z0A_3wd$A&Fw&ferF@MK#(i{E%qk=t%y}y;V+M0tXorGbcomdnC8r*4j)peHD4KHndzx z5q;&K&)ta$#)`Bgd#(CGY8@BF|{$;A}$uOy7 z$)pz@O9>;cfn6Vao}DYD2Tx86?!-2>zVx2UGn~VeUJ&JB;6~RFk!b=YWoCO9G7W>7 zSFOXugfg*h$LEaNf(@IV%gYEOE_9#kBV;OY*U1EwTDQltNl8W(BJ(&umh+FpAL~~fh=yB+9v%}; z1#rhxv3Wy=m%f<|RZA#xKlI1a`sr{Uudp1HGez+i>c8JFTg=!@LGG0O^V3L*f>IOR zDV~#R*E=<*t}0s{~Hpb{@QW@0QliZzbSW&)+0LDFI6xi*~HKevWhWNO^aiauIEEF!J;C%c{c0lMht zi6K%+IQyk$(HEu;3`Ix8B!NFiG{e)?H)PR@Xuib}gYcJC8E*3m=W+Ew%(S{!4 zx-FTtEI|*o0Uot)YCO|p;n8ilJ53r3c6oyaxF>AH{MG8$b^bmrb)*?v7SgZUq5pWC z^59o4!;+4G#vR*A8eilqdaR9C6KSuVX>glVm3Fsmi;ap*HMQ6m*Dn$3H^DDFnSwI# zo&HLe#{r}s4xdh{f3W3rfo8NM*pJbKaMMl4XPCe13GH#x9S>AQ6!u+jN2Y?ON;<)F zbUQ*W=8eHiMfPT*z9oAoPIY7eEw$Wf=6ke_eq{l4nT2HX2EJ{FmI+tkA;6RKXa(iJ z|BmLlnnaDWghaS|AnCDT9#o%x4K9>HRw}+PnJ^d$6+|jcWH%jd3+@@$b$b}M$Joyl zJ{!J7a!(hjFk0)AMLOwYT|eU!-F4LxDQfj)*@~S_UQU>2^ z1!~|t`Hz|A|1XbNNvwUiY$jb z)T;RiUF;|kPww102fA#k$MF9?=`;!OI+A3{roTSDP(s*cGqQWztB;>*HkujOPA17i@-3}DhURe_Kh@tfXJj@Fd*5?Jl)9aTIVw7J*Jrb7xoG7wQMam2Mx z)PJZ`I%qMBN8al_2kKYj8{q%+icvI4TE}#9*1;jc|K8e$5&A50j=~4 za*6CmMKmz8kr#pE+$K{uLIQjcwq;Oru&6o>Cv2e)(p@Mq?31^@)RjOg6S^dVbd9I* z6=iFv=@Pg!3^dN!Q}xc`%VG^h|+vZOhBW1^(dKhDhk76hUgA9Iyl_iSc;qWidQlX(P z?yq;nJ8qoF=Uf^NbwBOnE@axaZ`;Tj<^_u9JJ$FhJ13((nb^lR4BO9q2u|d-#NcX% z*(QThFyCrE^rp$j?dM=o)b-c{=3vLk%I1~!(=TI>YFiG;pUKPE$5n9GG0Tgm=G4h? zob@EWO-M59XU=OPJ#s4x1CJ3EUR=KGOzAmsReUP@K<)eR!*-ad#DW|%?7<48IN0TS z2i;+EuxjR|e;sCe<)F)l(wWJdo{`fq@4OWy77kjOLX>OMxzB)BLu^EgS8J%`}pp$bgBK^ z2@>a3o?qaGml)rQy06GdvJ^ZM2e$VJMNMmtM9}=I2PNDF2NlSbQn<)6qbq8RX0`YYYs_oMPB~ z!@x!rg|$>RNn_09e8%%?!UN5i%g@lF7xP`Wm)dh_@k*q^r*^iU$jZk*X~Ar$o8CM* zCU^7I^Z*j?sdgn80R8j+TaAO$kkWN7CETOLox$CEBOWYhUu*X5YI3%&N#RvyC#LiZ z_NjUGGivXk`0Kd3=#kaZ9;*w$1@ZK){OvjDq6e;)^6BU*0mpS}b14oh$Hyg5p$5Bc zQ0s@EW&W*vdQGCaMKs%B7)v>cl~sAp?$J<#$S+#o*IzLGaDdzHHS(ywHM0$VlZ*F# zElIpVgK|5FB0r8zGzerogeVs2H%Mkzx2o(B`G8-35IFqzG~5|SYG!XQBbb*$Nt;tpsQj=V=$cxxn%zFI`+hUpW z&C0v5!FBb>@A&lc9dCk;qb4#_F9S(RQNYJ~Cp@exmhirZIG7XLM}-o36mrJ}UPVKv zS6RgwMZ!>HF8^o%b98C{aex2L2^jWn=3T#z{b-y+26hhFRf zULqnT{H|83_YccsDOfTH;M3DyKE0JTWOr$26x`w#;$3H&qfjgxb$JETQ%3b%W&k2U z6OL)s-vl_wYS6`Sog}k`N6Ktr+H;jgwp*Em-IcWTkYkW?9CvBA&s~;7M!jP_7{2s> zeSn5{f~t1x?3+yaDrT5+gXI^<(46f=lgGjr_BVA&1Zs_?Nbfb>REsP)nx}$dFEZgv zwd+xvbTwqoxppCHfiF=t(wao0>~LFpX#9ZPvydIgqVWwR=bw@e49>a;F+P28cPk6$ zp2#D1=XGvAr^`q*?qh{91#O{Dyk9o_lzkARkE#Ww87UvYcX?TLeOL=2-N;=QYNpd< zFE$EmZ&9kJyFUQZM7#bW;Mpp6WcP+nh}FodFND9p%*|v0Wlzy^v)WHmQzfFoH|CCN zORxgdFtaf1h@U4Hx`U3f6P)qqMyu9Yp0eE%flF1@%hsBYrx=`({pmyFYOuU5$KQ|9 zDR02QS_?=y{CkX#t1m_3hDs+*dxJCuXG2N%%~J$d?0V1JE3RIml-Z3xV9{I3V%#1- zicIU=9c@)bRLUR2A;%Jo=f|59r&{X==2dav^f{c0DB)n2-^GOz;h?%v)7pb`ho+8y z7E>>RE#69oPth&aF)E^P(e1~3>CIdk7L4AXSsz-6Lm+_ z^BtGvw#htzX^cq^MXv74r@0J0iHSt6aWx(n!_?jlWar@SneJ2QHI$oKG{hiI_u`SZ zWOLPmyoI@n?jy4I1Hl^UkCf91`>CrYDn`x<<84)Amqf^j8y^o)_!a?e5hKj1ddj;)p8wm?hhqHXga^(!3+N#zL$@o z0OBhmdO0p0TFJf9n*)pYe&X=l?SRVPhs4^4sJ{Fhr>UG1sikIb=k&@@FEiu%Syh~t--{TV&$8?Uz`wl zEcxs+=QP%6Gc#VH^Hx0U(VBxCJ7m4kGHmf^*@`GrX272cw+ZH?cJc#5 zPquQ=9#X%r8|;UK$sH~9ABeWc*^(w26<(DlW*E;FeA|mL>RJCLMV_^H4!3MeH0BZ% zJ!4R{#L-T&k2w#=tZxe_gRW&S(*>0qjqcHA{)%e z_BDj2Gh`{$Oq1#G(Mu3e_93*rz)*1Q_ToMN;^4ZG)AE7TJoFoBk$bVM&NJ){g{Bj) zly9Rj6QEHI{;b82ixTr<^wb#>5-l#Dd{SM2l9_1r8?V;Y3$!`>?GYYUkH5%IZyvI; z?06})ggo-j5#fRyW-jL2Y$DZ|v&wc^rcR-e2aB%@MkL)Ca=bI407NFHPbQAN)y=S| z#N|wE)RQCt;+U_>5ef+g0a8MY6(4V!f9^(i*A;4G>av?lJOQ%YgbAIYiHK#{^h(*U z0oy3YrBm6_9`p|f=LEQ}(z?~6k&q5d--j1zm5g{-GNv;@)Vb_SdCe=@vUdaYXc%&u z7`#@pIdWV!=@+n5`C`I>;z_|Oh_bZ)__6;lf{|#@tte_IxtyD3` zk;_Pu)r^Idl@=}dVT{rbfwi|x-TA4$OuK%nc+Hv`^{*OeWF2UNNn-4Q`5 zPe^u;xclHmD(k=~aIJ1K#<&MQ!6UQNXKW8xj;O+6^=^(QwWhpM&rSGB5P(n(FkGzo z#q%&HCt6lv$9K_^eWwM3knu6N5?MtcX7TYtX++Srks-+Zxihv*II%+)-df=wX+viH zdK?b@3=4#a#ta&zVZ5i{)w{--@}l{byb>I3dSa!C_N^8B;6|vTo2?oEgQ510j8b)N zYmJ8-zkeRupDR7sY?4^MDPK86`q9sde&kCH&Z;7RAbRw zDZUh2XzOXxpVZ3}fdaW=m1DapyEFr+Z+u%$VA4BrHU6Y@Ow#FaLW zRZiX~ts)$l!rl&SX)loqr1~Wa67lgHp~?_Od87$*R&l+$!q%2}5;st9V58QQp^TZS z#-dYMrc4xg20svtk{320psaWnD%3sBEcT=Jpo+HV7Y!+qWOxNDLmfvNjSm?|HdwZf z{a-cpSDEqr$n$x&B?r}-U!hFaOBTE(g%Rt$;7H+utKO@)ij27Ji&$0(aQvRnWCoHh z6C%iOM3EqC~sWSPVT(;^vcY0+EN0SJJ0_n0P3cO`_7fWe|lsfw& zN&om;ID=mF&8@#OzkdLtBJn`>3^yd8PtABDPkP8}PJ>t9E5Dp2$eA6b&A00F3Ux=~ z#)6dsbN-*F95u5^vOmX`1JMo-TlG!$geZT2e*vjcUDeGjcI4KA|LPpss_Ol{=0^@F zZXhkzkPA}8pgJ>Vp-_WjlpRSp6)pi%z7Q%XL+z*$t)_F%O_*|)x69uBRA0!l7r^?x z9k8&-N>id3Fw7S8D=3#r(j=X+Hpc4~M1CGIlsroCFCZa@>=U<^Bo)fxcIVXFDRvTt zYg&_gdsRpPzoPoXPl^k5+n3?VD_tv63?$p>mU|>2Pb)sa)wZ=>p%SyR)2aCS)?svf5ad~LsmJ^bti}|A%Cfl9 ztlVS_uO<>E|H@3Hfth29Ts-2!PfnzH#|^2#BHDh97pSL!&)IDXc-N=QGtsE}fvlV6 zgCMrph4-y~9~oer^fR_a&MeILPm|Ac0L5ga^dXO~qw-vXLz)b^Nf+)Mc z7hoCN4Keq5ciWan>frt(i-3@LFPH(ID+~~DdQFvEr2_yb6q?InnLb0;%p4KSM8`FSYXpktXRnUlLck;|m}Y08$p#A*fZJp={5#H) zldI*3{U`sAi`e~dy~-Vn=E&YyoLN6P0GBTL-oA6Y-t+U0|AcSsx)m=u*cERLP{+Jl~ z8E?w6w-e`@b|rJMuj$CJ-|*9Y+#td7Kynf~szidvX&}fbVeIJ%|FHv8tVCpQpr+`3 zhdUEzg_034z%*f!a189|pz$Pn3W6?)6)HmDKUmXiV=^fhjFV9wwH*Inr^XSkyiVn~ zP^?wDL^^cczI)eq?4x)|3D~9(26)F*@U)T6u5z(8*5k0KgIbnjV2L4G zcxJkvIo9&kL2SvF_iUbhJzG#!q2feB0`58EQ+x4NR*%&a`vWWR_9jj)_d5*Pwqp(W zI%&dyCkmw#vcQTzWT#EicHAhs5|wMkJ_DF9q=QgFZ^FVNAD9jGWH1Y_xoUVDAo*%l z|JjXbM8A`u)jgc&MQ-qYWZubMIEC~)bR1Wh~c`e)UP|P z>4wwCYGkk&Gn}Nr;y3%Ih{)D*yJ;#YMRmpRC%?~5PLVT|v@>Zk(>Th!L71yIl7LJ9 z+tyh|hVz@Q8Uei4?465lw&yM_g*rZpb(@f{VUqD2=7r0m)EuYs2(+LjeCX#-WN9vD z7`$JSsys5wcP#&b*?f9x1$-Oc(B%5FouS>n z{mbKgRHf+aUMV=%4c%t#e9{4WN7Z$BzyoyM*AvtI-RjackeG!>t&4^JSaaN6eH2zn zF$zidKkO=pgI63TS2fo)Ou@6u9biL)!-H;}^5?g|Ib%D>++#`1FU>~7vB#GO^nLnW zEkbwBjSfb$=u=S5YHCTevksMOR0Qjz+9Ua`ivbl>$_m9MAcjYr6QV*9Y9$DCUN6%i zb!_0r;?d&L1WbBB6ZFI}wQLnnz!PA-X2@8AHi3hbe!fnK>2n32=>-n5kolo^l9FTq zsG;WaRN9q}6F0h4nUT;OL~a-KuCb-DInXENz{bN*cGyeb>M{3($is#;HR3S`3Ivfp z6P*HK*|Z^c6OQndP~43yk*LO2#S~X+Fkplls5gN9tC||He`keD&L&HgGH}kuMNOtE zbt?wOBc%S)mjBOEdv65%w>MA<*EvZ~wneMC2O=P;*VBdMsakpkt2+lm^K>CKRw&gs z2f9xtw~|*|9<8yT%w%E_{4`IP+WWE8JO&rD3^JQZ>Ar=@>1w^A9^5+0z+M7E7T8$X zIfHUljx@v%z4dP8V+J3)6OeH>p)ds6vp67(4r(3VTLndUcn7h3qFK>UJD!1(+#}C- z#a|%gl>T!>%{$avyD*#P@-^8%xKmCJQlel;&q(LZ{3NaP986bi-JH@+x52g2y^?CF zF(PK;grgbrKF>MvuJ18kHA5B(`ng*(OzIQ{3YP<2x{OCm8p--rq0Kz zZv}Hu3!89g?_!Tys;DswPe-Oh`8-2?)F665@6vYp%8llW`L5&{FunjDD!wA0(bsNIa0A#@&?v<*L=# z{l3M*6p9(uhHX_>5?Am>)hm`6pSelu&O!$%t1XD^f7d614`UDAydkqrGf=$!CQjqE z=bl`}f=2J;4_e|-W#Gvl(el#cz#zX|-a8|@{#^C$kyQp_9uJw%g{*0z?tm(Z*Bl}7 zHPqhS4R9IU-G(Y%h8~&ihZ^EiIJc-84@S$nR(pvbOFzSC=p1@8hI%neUKxMcCAzR) z8tJyP>=BaPS4Kidw#J@l%YRQ)Ph?fw0hro0*!Oi?WUhJ2bcV=4#SA&-?0qDB=K02y zS@hWBS71LP@uV+QQa}N2uF!)nFAz$TKmy(Jn2<6mQIOQ^MF+ToshLLA7-*$b2##En zhOj?Wm`SBEA~GHgs-xBX5R)PZs!3H-L~)XS27o{JYHMGv4+G~#45qNU4qWN5@^JSW zL(+q3;Qv=y#j)7yU$oBN^ zmp(8M&OSGNI4Cko-y?3JQbU2D!!TuNViPZX5dk`b_nXQ-p()OC+r1vpdY;>e zOXp#+#5BXvqc(tk5})Bk-NyTo@nJjOD$5u?jFYf!5?IH>#ndOMZ5h((4!MYRILqk0kJ?tW`Ol1*jm_b`Hg- zpaK%SE{vI*H2i6$d%GFDyn~FL9f3N~V3L12=vsXnH)pYBEQ$f{lW5nQdsPW$&1xZ` z+7?fA70VFgC`@@{=HZeu42YkMx=71}uj-rI+(|yfgiqs0O~02G^DjlfC6_ToPHdbY zTyPT-(mTWq92+2{k_gYT-4AEN31N6V$$c)W1z^{;CyR`(!O&?N^r-dIo^UA{oI;e2 z@|6ndj;0}YDYvJ2-Lav3z3teuFPjG3LoW z$`WEhg{GY(1dqMkB#$He;bUxh=Jw1ENx3xx>7emk^*pdG6X$V)+sGPqnr$G^yKLbt zm#3pVeObu>V$Hijrrj2!R@PWYiCD}U9XK5sc*65DY(#dig*PmWYu*$K{(m`{>@zb7 zyflk)W!~a>p95sIrNQB{FW$%zAXT}|DBR(t&}J0-tn2y-VsD#IAx!V6Ud02MM}Z$+ zLx3!?`q(x)1L@5It*;BtpXU;PuaF?0H*$pT^?nrw@k0eaZn`y|bY8!$1eD$df;d11 z*Ib(p_9}khFmC}}yQ8kZ`?{tso&#@8*A;X*d*RTsT|e(t#~ymAADxxATolwBCOy|4 z2ypZ2-{$GCGvwK!Vlo!^5cuSp=OuccTafU)A;OIg%+vT{e8r?!d$xnO<3;DVJYKP^ z6^=RRVvzwy3(X9-s{IDrlY-R@&otMvZSs@h6l%*7D&iq+29BJDU(>)l#N}ai(Ka5y z$W)KlKY!Pft(Kc-7ea6Uo!D0LuyAwxH%J-Sh2z*(0-uy|2OHpE(b){R3SDLw7Mq8L?fH?)t2@QX$wBW7 z=s!>ZI^I}$Z9^Ax84fpa1C{~Pk?joNmB$ewHil~w8hq(#Fl2guXiB=6K@-^^2* zhTuE)+%pX?E<&|{=iX%Vse+GkSAy$u2RnRI;FhA>&n{#ye(E^UV9KsP>wX?r_!%YW z>ZM;NS2WJ47d3#&-nO0bBeL}ID;tiqXcV5*>5EBla?7P;sa>-_7s_- zH4ySWS=M&qK9jYBLzjLR$BiYH-8r zc}@31sJA}9Y>jrG^p@JR1wNW#R=W1X2okjLZko=#Pw*`+LywdU^+eH&sdpEEXG$f+?I6<dO&o3zPH1^R2q=N0E1~t1Vs0@JraS zA%!!-zDO}8KHul*Q5W(|og%PZfX7&&I94NmeioZOgbHo%s_#NCs)lMBtuR2iu0g#3 z4rKfG13+esUsN%d&{~;0$q@#M+yXL#m5lCHn8ja{Xo_)u+_;2krB|xIvmg+hs9}#N zCdEl_Q3X2;^xa1@C4w$ZQXhra2DwnuK)P=YK0dBi+Q19}qJivZV2cSNf6Bcoou|<7 zwXD09N9uK@QfV+Rc?DXtS%dP`zdK|x%=PZ+0Asbqs$p7TQeI&RD+YZH#Sm~V7~?pM z3|~RzCN_Zq+@KEH%%o0VAOjsC!z7Y&`IOafZ}T9UlsmW3!@;Myu1n@!T6r&x{(4|B zpX6Khb1=H)%Q>>QqHN0C69q@%e7PwOVvB~SyV~q*r627-Cu%%?`;=6xZgv1u1b_c1u#~#OviOk*w*VXLfqUCX8I#wjcXsQPA;dnT=wH=NiNl(j{u-t6eAOvYFx~ zn5#MGCqwrFUx|iW$0RsSi_QK31v}MTGKg zMRQ-wCs@>(;>2$ipYg}3*#2k=D#muntqJ8>X8|SByYQRz@Q041vGb%}>q)HLnT`#x z;EtRqml_`2oh^^1 z#3`zkwT$&IgE0XDjG1z?@O8;kynn}&p?KXWsYRY zf?&KY*@KUR!IS-~(!@uJ&01OMr6H|K3pV_q}bv!kt1}rt>ts%XB zy?q@HVx!&h4w}@^Fn=?6!lSzU2qczx%$C@yb#MfzqvYw z>y(c|Hao$R_gg}inZJaGjV^%S6D{xvP+b_dpxM<26iy1-7ksX>0AA<}EO^n5Ys~}P-oA<-q_Rdqoxl}j4 z0q4|z0u3)x^?f!AU`E<{bIaH4yGZC;l1|9X4mG2b>GuG?Gua~7xJh&=4DHPDAK5Eh zq>n(?d_gP)VS%2IRgVFT${uT89InoTeuiux;74?G%?t*7 z-qYN`bf&v+(naF>e!YzpgL)ZGa|> z-fGY7&=~tTCV|Y^HPArYAp<_y3P{IH_2cfH!USa0-sohEcFl?f_+mYTbA~g%RyQMtQ?WdfcmD+WGa!WL?+!nTTlO*J&R+suTn! z>|-$84|m!D!7_md!!-S#H)|jP?%wt3AQrE*f*&fEK5=jwpwc#zx>+Bf%g+A=fgjl{ zklxiezPEGnTzi1LV!$-7wNvvCbQwYRxqcW=MYu$1kYjb@+{yqXh&tH-t1+#wr|oVj zu_VuNySH!fFD}$rB&?)4ZPme*t9%ytEhq4}2vU*ZB;-8Tpm47fq?Wbf>4v6B?|h8qBTh;s!TZ$eQBorNL%?)DC|{zdlTXJ>*e3H!sv8DIh-8AG8eFkt=Vgz?D3o z%5A_!>+Gi3LA29ofKl=-I$GBO%mEJ9e!o?X?GC-IciyV{I@q^4u(*%KP6vO^4;na3 zX;2e%EX$0ugt$5iD@~goLrD4X1ghn6ku@fFRZV4={*u{n4)H-VoH)r%|V9Es&u(CXAX~nzZkrybvUQ-AuI_fvE6|?8ET+ zhzX1%Y#%O{X??ZhbXBHBMAo#jkN0 zGT1vilyFOXkREV4i0fjLPc2N(1LJfK@+8w>tj@iL9OwK3uASdQRv^c^Rn1WQub9TO zZ49p6A6S_V)~ds4Q+Y~t$SKTuei8wasT8-bgMOBIQ0>S}LB_L{DVR0NFUmbH;3&8% z@SLYbj_b$cVLH^*121%Q#qMX8zp7EeUA=u+%Gn~E6+y8ULmg7jOSlL|y={9(j?-SI zC1yG-%>Cpr|1w^$X>a(43F7mwUjEStjp%b|Q2hHpK_(sTTTg%OQ-vyf#tFXV3;YBy z8zdYJ;w|_27fj{kF%q!O_6t5U)lR090PjjP#>!;F_RTCg@~)Ve z(uoH4Z2Jk?USlWWOdM!uO?9fuV7c;!C1M zE7cCYJ`NGlt!JY6a2`D#%F>75W=Rj|&z?!1*!_-`FUVn)H_~PraHl?pFNHsW8CQIU zpyjXz8d)P^Tw+#mlAx~GP7nxw=!k)oQ0Qys#kWf*1Q0P<0fgEkZzdQ$O{*W#>Wg!l z8BU}!bl7AbD0oQODaBX*L94=KUwYuS96r;N?(7CMTEcS)Yj{X-th)KEEmHn zFV9g>Wv$P8q%kqMx!{P_r!UxhGAJ+;{d6=!GQ*C7zp6vX*0yE-7mYypw=%cx(vzUt zGQ+7VBg&p+@GV|%k^h}S`Idl^3~(>j30B#;=X2fi9EpVmR?+C1d7O%3J{zi@LKPkZ z)l0>Yaz>oCG~)EgqIka+R*w$n3ub$)Dk%io0`j+9a8puoF;H+ez>!K-(y;9C#qN}C z5F-*KujB(5>p-alD`vN|4ZiTalIpO(k#k$7TD$7HJc#5;a()3I$bUW@msi}eCjh|n ztYrd0y5TPLon6fG&V7l4-n-&x#%Ai@#F3RuBz+K?NOz(QDhN&@{@!&TG80SBz;4D_ z%2BfGQ0p7Zh;*-96=5#?ozHeFZcdP=&dMsCrY10%C+SN$szJB#)miWMKLsM;h0?+v1dcGlC?prUZghccmlK8x>Q>@fkLM2pE-!^x91|ZOy8j-?CMXSB+u3j)e<$J@1)GUtf|eDtJ@n4n zJFNAyH1_3JW3K!^T8J-c*OM;~SYSCH*pq=kvhLD~I_08*x=@m?Se92YmIO*0r&HlA z#&`tNzAWyhNT&TK2Z8Ip%!Xx&`pR1Loje(C<4L)VMLE$he?frNufErC4){%Rx1{jT z&_o{NB>3AU3Qd!#oTr&*)<7>m7$pO325d`uOu%eJzBaZDE=YBrg2MLN@aAvewg^iK z6(i4Tm7Sh(LID>LhTJCky(wY96JE1><1*j|?^ddJ4OL-P3Wr^}n_zvYO??V1GG zO#ZE5{c|6U09BJaB4Y${-$AQUmkqC%@yBAs!cAb@Bg>#2pN4s&uBAx?~%#2Yu_YGqSDtIu64-VNr_2HTl{XOL|?1ia(fycK%{ zjHGvyT&U?Uny30p&0tdLqT5TTF*MFw*|h;ZGQ!PjaBFUfqh^bqV%W857E}WV&w4HH z9uyF^OS3PB>^7n55_So4nwc(2j%|olpi+-3fYp{~*ze74v`R=>y>nKwEqtk|J0nbc zU=CvF?re4}$E+5%OKTL60iMPs?ugku&QwM~QjLEkL-dm;XafTUXEST)s>}bjmfozj zI=I4*n72a-=?vs^>r6g8zqb`)hoDug1T0|uNX~XcXMozJyE`6=`o*!;Bq+%shy+zd zC_>uQ)gOno=0m~Y`Q3g)VM?POWNh{qop^Q2pTHQkHROETIDylVNEru zg#*6Kwcu`mZl<{r5H--wVqG3xM6Q@6XhJe01;5wCQ9yOo4Wwv~YQ{i0!uv>3O2LC_ zBH?%YUcLRFY(@EOiaALDQ?YY+qiO^LcT{Y43=Uk{$@0+gUMpnhl9+uPtu}Of5*}nq za@{5Reg*QzRxrs_2U z+qL!h*Yc;VJ8=k~C}<0hQ&tA3X}{d1H&9AIlNApyG|iemWZcaSDYYHPFka}aP>y@c zRnPd4m^VJa=vRLo%*h)0dI%!@NsrW#RFOL5?w+=+*2}R5Ir-$8kCrvHHiyoSZsqn} zYLBV|o^2Lii}0bZe5IYCFC9iREz+)vb>h`X2M1Jdh+v7aMkY$-wqt{|U4tdp&h#0~ zsIiDs`6J7$OXs)Hid~&->8GH_9e)#$V(t(G9Xu>SFSIw}AOyVfY3m$WMDUcu^^M5V zai~Ut1;sO{>l*c3buB#(N|aZyVE1x7$n4{Z3OrF)K>jzvwQ$09>Iki*Y#hp!AJRrfPyc!GG|h(0a) zZjWqTx0ICVGCpBIP^=Z0P+^Z)uD>VsVUiz<#I7kgqH3a8)5ufuPDyktRNC#v?9r_F zI>&g`?NB}xwsZ_ZTRlF4PJX7!6wkbUoR4K$I+0<2S?K{Ri!zQJio0I($`u)yfBzYv z*2?lKP1P-8?J8xEaQxOVlwr+SZwy~_8?$(@w)7z<${mKCj9sJX5uQ{sQ|CA}Ted+Ua6BE@ zQ}38Ru6e7K^-fXr%)c`Xovidxu3QHWVFZg}%+=;jHbPo8HkN(2DEsuDL4GMAhk~cp zZmi4^-VdaT8_St+(FY+1l`DpMqR7ljI?qI@8;HMSIW&1Yb8vq&sRp(=S@DYnHzST&gJQIDd4# z6Ah$&Va_BiDsu9y2i*`$Z|cj1rd28ycMyb^t)$0<*JP?vB}iS-4IIV04JI<(^x_}3 zegdel@d3tGHWXRykP&$5GB+a-QOZXQSSTzPu8ZG;!)UEx3XaT08nVfQa(?a~ZjF9) zqL}i~qUx)jMc7d-*^k?$c@d0p1*}Sf>7u2mC5OE^_=_|S!6p~4Gktnq_>Voh|8I_& zWS`_v5MK5MeXi)2vDTs>7V~ycxV<&8?3SlK_U*ZzL{7T;7LhajmTS zPwiu-=QopT75Td?3xTewms58TPhmCh0i`dXN%B``=~O1b>;+_3&y^3lRxJ{X?a_Y} zr+o!9Tk?znhQk6EySr{`0hM)ih=@s;bemSSa+`O!GSLoW zL*6W6x0b)5>4l(&ecRRI$_ZJ_xnv(d#qA7hIH6}FcFm@E{%DSPIw6vYjVy&eO7^WH z?c8h}uKWWsNva@W^;oiCn%}ZRS57h~TruJ<7#A+GKe+))K1>#yMKYJKvo6+eV?jV# z26V)e|C*+?`52_<n2th}iMa0HEs<2Qu05 z?La?~>{i=6W@uD*%0x_@R(JL{f4Lb zq;6kkWU=sEn)Wm$MF-!WK*s_rTQ=yuPKmY(Wit5{E5C@b!rRO5GscZ)c;c(Jrb^NA z29PVNBv9n8%UG9;J+?z+t>ZY|`iZS^i51!$cp0G1)GdI|b8tvRR1jMGlNZ2%w5)Qn zTT2y?TH@>xXuDthw|sg$jK(L?>c>w_rbTb`G3K;LR!g>}yaieAAz?J?-l#9Dxd--EElDrJ608&|-z=G<(%wjA61ckuN{ zA!XI2;S=(r6j_qEo>Q8H%L;P3++W@uMi+861dJ!$c=_z+GYx~9s=JND!e9vsOl&e3j4IE{PrwEjvF}mTZaS&&ZSTt6PYqq_NL5E9#-A}waTA) z@RrzaWDZ{)LPm4cpRtc@oJ4jv+H=Qu>~v=wu;|8RrUOwXtLcr9_3+IT1)TG!t?dUIl(L$~46o|)o8PvgpIGlQ#{ zLpyr379xrje_&qtzx8wi#E!*lk7lwIlEX}Ck$mJBuSUj!!O&{du>jkOV8jx(1e-Q! zADv0Sr;d3LYVJ^B)Im~}3ll@&sm!L^VNYa{s8N=&`f?`qr0qvP!VjT{G){GmXKillJ+w8`Q^1nk4%setnank-W)-|*0Fg+l8Oa&B$Sa>c2V4ys^ z+m!JQ+Vi1|`AbN%4>aIgG~6P$fr*ihlw(sWV1OX4YhhV`11sc4Gjv3s z%1N|vlx~29cdy>5^{*QAaz|^iKp6*>dJzYP=y>7Tv#srUZu>BURHMtQM9^DE1JtV( zs}9il>hK9ZTh>vS&0DFj?TW_L&$YbFZB@^QSTttsDEhoXbfK93-}XTUjEf3S10xzH z`wbMwrL~$8!W*n$BfJHj790#Ie+ZQVA@H7Fq(@giOw?6(egD*xpncifY>-xZIgWEH zX`l~IjudgPXAWOMuRyn+{FcG@nQb3D!A5#cT-_?KI3EDUJ6!D82tzEpbGM$CNKrI1 zRxtyBjRUo-RHW7kq*y!Yn{&d&TO4J1I47otkDOuD*jMkNV-ITk#K{c}03WE|HTYFg zLa+b3jSN^`1;#U>U}F&_rD!;Mqff-UTK!;l;)g;s9``OhSmHi=;;(C~{jlF9$_0HI z96|;Fs1joDc)39D!`~vE#Hr5o9y_SLhP@hGrhs_4z!%<*XJ}M-Ih&`FTfe^JgkFpB zqs`7m3LkqABTm{`A~98Xb_s5qXu>SIhlzwz-j47}!MT#!KA&H-0>=6{ydA45 zyE6!f@I;NyDDDxR%GNOV9~(4BOlBSSImqa-1W|Hy_d3}?=MjzdcDGFOiZ?M+>t|yJ zEDdW7!j&03#q5#X4i{AMlCuEcw>((pU1|P48)ifqcAcpUq5y`&ES34i8y`M{;owdv zW6-zNI^t4d-)v`{B-KM0<|S@nMig_!i-5+C(0Vr*(L`tnKN0(j5}AS>=}j?MKnjsz zgi_Z3k|r*gL?Ex^Q`c|@!I>mJLC%G=Lty*y1k0p$s{#(_-J;MvG;N!5tGxZ7squ$~ zB5DTHA*3^`ggy8~OYHVk`W?_mP%W|g)ezYQG!a?R(L;t;X))Y8&nm)r!&a80WwYIg&lh_iPv8msmnw?xP+cob^op|_pNB>qqz7`qm}Shm z6n&=3KXQBQ9wgf#JsScBOi^y=Q2Nx{Vm?!An^qW_NMfjGrY>Z10|sa~kp9RX{c@Vm z=1b&|xFGb=n>{D2aB-EAnJMO;`Ock8FLq&Q4W}lS<_HzeAWC-H&HN^G46M(S0|?^c zm=ctk&5M1o4KBpo=*Z%_kc|o*^ikGgwFuq9HmLPgGSLyJbUIM~v3~YUaO;_519PjEWU4YkdY{`|+r_I?F2@qo^GX6&jF1T*dM2~5d3tvQ< zZDSkw;6q!;hpMpbj&6?WSVk5hW@Q|YM-39cO!fjxoMGZx(ilwSR4p&RLpNKdI+`S= z3`~0&s&i^uV29hK#h7U_wDvxXzMn5wyJlU## z?t5V55dAjKLJbz2qZazrSYgzI23v-1ey42TW=hP5yn5-5hAxHr@UiQI$(n;i(I$%! z9QsUaoX}nGgHGLMOO{GEILq2iHzh1OlaiFr-ED{XJ8{3HkVn=bD|Ln@`M4n zIhpMbPzeJp%H^G(R^dmT4UD-)A-9=iZR+eL(NkME#j7t1(w!2)3vxz#e)Lc?r8ibU zG0!CL8h2N6ShoId?uB*=GaWQI@5n(3!WUfguwzMBVK1NP2rAoSZ@iIQ`Ft|&x^Rsa zk8dgJ{2ZoV6#x?(v(HfH(-#syjphYlB8saYr_e$Z&+Vm`Mk0&JP%!$Dpoa`xMsX6% z!_Ye)kF=&(BxFISwXn0#da_5hEt-h5z@K%&64n^pEPY35e9MQ*Tdn5Y?UXApC7Daa zaQ^OcV(ofw%I~R%C{OnzFt6aD+#plI_B2oYXf@6zTqn+L+z1q(lu}j7bL26!D3ZaH z?feX)xhG9bh*)cr3gm~|K+1zoX$;5iI|-!P+Mt`{wZGfnW;-$nX(}#^`x}Pp5~)UA zIuRDgyJPT-2D^bsAkcn$(^NQ4FQni`tPo1O#c+?H?7Bo;-{HU9+JXc)`fp}}(Rvqd zSrcvA3pY(VJ-EQm>5|LjkUE0{Uv=!eQSuaw;pOD2vs)g>aeDCYTT(U1K6vP}k)P5ATJ~hH<1t(KS>SnLqoF{V=z}<_?C1zjxgs3+;-*vDEQZT_ zAljL`fsk+&4Ho7fU@nulyc{G#NpZ%xQGP;_3=?xS#Kb0(JT=2 zLa-CXiSCkJ=CJLCuRjRtJHwN)rZ#MmG81;}$ zgd*#XDEKhBrTSjWtYZO#+yo@blD2PaKfcXC1GEGsP0%y#%!iPNOL z1WtepteX_ytrB}$EE%#Ny3$FMc)EDrGyB1_r6#a0UuB~*kNJ`-3Cijc6Pk{wM&+vG z<};`Bub7w1GDb$di&CURrFnz#)gS~VQ?nFHY!u#eycdEWaCOqeQ<2?5#t)5D(RNNb zbuO_)|6;B8^)G9h=cRmyqqqI&_)?%0~ z)KbFDQV<|dGw=#`Q8j=D0p*#TdrjT7G8;CTenktqL!53BS%xlV57&@KJ3JO3jo4zL z;RsmIxOvfoo0K!5Io-WC%KA^@%KAuT4r+f7;o!=duf3fR@1`Bc%dj(R%L7N4nG+!L zoRFCqk+lVDt|BeETTKM2x?7L_lFUCf$sI07+`&e(_<9q+;=>BSDH`2jdiyYoF}>gU zjPd?9JMV&{g9zH?;oYh$9y@m~&m;zBsAJ9J)x0-;zRGZ1{(pjrSOxA_w!_6^E9F zZ9z>!EuYb9_Ex?7;jDkdv)HK{>8~S0)bRiL%Dx&XtP)p0Tno;_voWX4uoDK87)nWE zly&#Q6L)8HtILr~38|fmxRO<%vY#j1>OSn!sQvi)K_~o{0Kw#5Shwd9qs&&agIG_= z5i>nN6Q~&s?83rd&b@5RU;Xa>88trP!l@X^aWLkQifuRtyTHXr9{ zs5+T6>HHj>9O+IDpZQBr&$$zydng~`_T6k5R((jh@)61HHCh%(6fc$-Bk!M~ReKxc>G77!Q!B(^~FcEWgqC}d>n|BCWWKE;Yd9^fnCe47} z@~}a;x;iiNs45)ee8Ce~WK+TmR`F_Jk==0eVbA66obRpd^a4~TIVZAz?Jy@`VsH?* zO8pKhUbbeB?$a!eatAN~1k9j5@cV{3JM`-YM}&c4<1v4U_;So!+&Fe<>-cV*u0Ak7 zPEkYWz=a8GSKP{udDWwx@#c-nD@yh8Fn{$6o?6UbI$C!(TZ}ip?bki;N%hmCnE;;J zGTs&mFHwqo1$!A^AC!s_69!$3NXjI9`GR^8fTo-N+8}SqZ9gQ_R$}v}*7%HdxR=Z3 z1F)w-%m4JTb?Xo*+#sbaPSjP)8r_jpLFNonxm|;aYywbz z0b7Tk=)J9;836?_bE)F4XX@;;kOH+IJ{-}V>=67 zTye&}IwZ9-`RtHO5_E_9c_PM7hd3c-dU)7qkgykI{yXajkok8>_344+=|q!+>@;X> zH1Fdf_SUPkxSwCg#iO8$c2rklagHjkTW4!!HRSTPNW6F>(2b;}WaIuE6wij8AW`nd3Q?Yn-tFVxn z*!Y?hIL<`6)Yu>7Z(8~8{K6i}(?`Q?xW8r?L>6%q(`+;v#L<-r?aj#5mDcos33SZ5j@u(2ze;IZo-+6Qm(#I})>dhi=J2aR z%;)v`!JSBB7jvkTJ;mX$QYCe@?<~J zt9_-*=z9;yx$g%d=e}KrQDS_QL7hu6zY_;x(S=Mgyp& zd#24G_uporLCel~XX{cKUO1yA7Z~K*@GXgSHd6u04229_a1h9d03<;{D^JAn!QsRz z)!(EOA`{5%DcvygP*^&M1Vcxoivw`R*|mCGEC?ISKWp_UlQ!qpx>V8V8E31yyoSzr z4#Ps9g<*3jKaFCcI)0(IVgnF9YQDC|3COnkbbww6p?l=(qo3*UYQ1k z1I}m=<#Mh(qoc@JVVRgOR_mg)T=Ilg{ZiE@;THZiffR)egDMjc+Eie%UgmF1%4NN- zGdR$CXmkXnxi#dYTiG7AqM}vlQSTb_v9tlu8St^%=sFKifFFjk2*G%>4VM)(rK8`V zWRQgJeCg~l317_Rb^lE(D944oU|@!H!HBPZtvkSV_hyfeXsYG8Mss5O+CPcU zlVi{z``MQuVI#l0)x$ksVNT9e%iI(`CS&r*lxghGylM3o=wx^`JSxPzT35KmZ>Plq zcWwCT)kl9-0sQz=}V+IeY+lRsq97dFPVwNRGD45QERBi{-IDU*abgYg=92rO}X8rG4qv z{N+z#w#3Vv%51ThI-%J&e_F9E~%Wo)ZC?bb)VFoeuY2#X5Fxx zDr6HW+@Rn~ufdz)+Zl|rI3KKVk%2LDynKZy+}Z@U$5S2@AhIPhiP0LD{9Ti;SUc(s ztva5f;x_0yq5oB_H4EfON2NdtWgf(hi##30%b+?7V5``uG9*NRl72`7uw|Z~73HnLE1gXU0St zf|7O8P-O6NOwGRg0nOx zzM&ej7_Pepe+;0rl$WUszZ@qZHSmHQLjXI-VszD-sw-$XqB%Et>Ao6@3ji~!1nLSh zyi_jXcpdqO6U5TjR%W0nfDiszZj^0=5(p#p1M^-+hIV(-D@+msA9Pp-Q~V#a*hpT7 zPc7X3uW2NbU|n<^F$s@^;%!g6X7r)9b;ulJea~p6QwtvZY(E30%jox@W|kBjb@|hZ zd%KSeF{k&P?Xcg5nQbIn_14#u_4k^asD$r)#p?)~`(3^&#xHPHEy@iVK0yKe{N0l! z4zCauK5T|LNib$b1T9-tB9|Fd4M^#rna3%e7+<~Ufq_=->bJ(YCv-CIshB=`uoYF4 zeYpn`k3{KNG&VR5=K0UwrhIWD;iOSRINlpjxG}exz`3q7!I)}@A2Z&%xe$SwgTEX6 zFajU`*4&2&92TZ%;YP$r@Lhq=Nly7NuI>CtC1_&E0Bb#U50 zp>{4alk+MjNt-{Ml765OL4+oX+Ch8<07lQfGEOD)0siUMzK~K>Pn=$<1{8<=O*L&3 z^#HhksCn5ksXiPH-Z@SU_y}_o`-+-`1P@L1n0odPnX1cS6CQ47_Ydwh&QTZot-y0B z*4O#J-!^lZqV}pRd|XW4q&!wnb3FdzH+~)P)Foq1SLPsIpq>ds1ZEjoN8wb^ zP7(8Upt)_?iBDih*+iaSLh4Kq>4S6Rr%bXIqYA_a6}m(*me?Fu9~%_gdBk9Y-I>8$ zLEtnZiVsx>rAVdrN$EJd;6o%SgKWlJktXDK@{v*m=%^|vH=axt6zd2&-#oR%;)Ap) zEnSC0mxI@7)lGiTuxB>nqRQL7oQxY%o#ih|$95T)GlL?s?RSm}_uuUe?`>@kkj3&G zq-JtL{R4YBUQ-VqYxFYGX$-qNPZ2hZIJ^CJcxqde^PF+UQ<~V9{9vdIU1K7)Tf@Y; z_g0ZvIJKkHVPzx!m5pDoH}5-+8ojrti5P+#t;BYMrLt$ZQJdkN=P(m*=)>oW#pZ+d zP2I~*=H3l(#HwUcw&C=C*?RNd7@xOgDBtpDdI+~18RfgZc`LdF9({IJ{N+&74|1)b zbt4;i%XWeIzUhbeoZk7JstGvb^2?AoLWVu@I}4O{wq=~PhD%N;=TB%<;>3L!GT1w) zo#|^nh7=#89tR4*sE7FvzicDaHOw&RnG~~a@e82Kdwz4QNmAp=@_rG^pAD4Djq&J- zZ0ZtjF+Y#_HC7+hOjVj~Xi{C1Ug`{C+{f5jP`kaZo*&V6|g3XM&+=InyrTstzwU?fo+4*UyQy@033%I90O@w{Y7`|tih#8w{UY~!X03#E< z8RaY*d9~p@fDOUdJTECx%52xwJ>(&(JkPUpvssoI6XSlE#6|!zH!7wQv$tRKqWi=V zre$uFJ4!ai;_NU3bV~3$42?{x!WIxe#co$16{j@IsgrjF%D9^;wVGQlCEQ_}~&sG81oaSWW!F~ou=mydN%ZP^^s(*mjRnF|TA|IT93R&h@lNACis$QR{ zHucGso~tmIdYm}o;w~*snsOV45sSD$0697C>{`GN+Cc5=h!=)W16d!ulgj=wC6YP= z`e<3KwI|Pa&W3qpsMRAVgX zb+?6qL~eQ?y}6cgeoun*5+%7*Ng|U>>B*h062;l)IvyBduyn=kiX{nVhM_Usm_N=$ zT8K&@TzU}KyLPM6jF>2$wr6RuWv<~P+w)`!NKF&(;h>hR2%~>9FVD%d3b{z&q@wz0`2tl9h^ZS)o3Z| z0sQqJf+uDbS^@wl}N3?^^ zrun@fv8r@Sy77U$`J|Hi7`YStbAl!QCuOfz@{KOv_L7<4UvkTLC{{A-@m|L6vkkv- zZ<_eKy6{XL19y4LWl@x}SLU0pAtn?Z{d~+qgAgy3>Fm7tT(VAnM=dy}<70R)QLf43 zM@`*)llVdCyR}@RSRaEgt@B}q<7YxtHQ8QS9{2j$2jp-U?=3}vD2Q@C6V6Pn=#iAv z6Oc$FzBYNj5Vc+$K=1t%`n5}+5_(z4w8^2NTn%jub+0T7T?&hc2&0`X{B+opKnvT9 z7j|{a*e){~XX6WPhe0m9u@Yfh3uBS|^yH0zR0%j98YwkwYb1!_#RrI3i{%JEvgE0n zogBy;*FDw<%{}dXN$yJfc|0xaGS|%y-{a5xxV8V25MZU$xo&cLT zJ8-VaVrz#@07JNgYPNhz=p--w=*tj?j#>PB*~dvD&Th*D8%juJD^XRw^JU2|tKEu> zARdi!QSicAmLQa1kPaAlbkvSM_S?Mg_~LK>{ZGebTmA-_US29iZSVLHGH=sg<CeW%BxC_XR=r|g>IN5eD&z|+L)BHeNV0?IgY`4B_3Bfr#LdiK%E|`b#Ws@1 zX>=zMU9R+QjQ%sVn_DtE;Y$xYyJCCJaDKQ_w&a6pHASa+)s@`^jdEg!7L;^f(AcY1 z-=^G1_IW%Vm@x!pD>otV~M zjgbUs{UnnTJakl6rQoWT`G!J#8MBE#yeC^|Z!33zwc*=)nHEaK!{PCYTfs044II+4 zZq(u!z4gZ+e1oj5Kijg>c~$pGXhOLnz`5Iv4d4^HAeODLz+xVuG=V_kZV($|T^JP_ z(g5c5pURbGM^0&N@K0Yl|)L2KrS7{Ty7T!YGuPa-|U4`gB*SEc!E>JcO8ro0uS(uiITtkum zG7C-OJ{vI;ogOpS>ZyldGs`SyKW<|r!;CE%fpGHU`r2-0q>41vxP+c8i!8d zNuJXZNt!idEuKhyo`eqiWSVNYN0?n-J^pex35wY)3kadL*xBt)C1tD(NeQ)|%p`oz zmaD9!GNXeQ6rYh5c}(hl+TD)#X{=-y&@-}8-W3W#_4I5er9WydrR46$P&7s=PF z67MP~!yxy*y4KLLX*~N2KsR0m9d34#@q#6Y0#!gGcTicbo1_r9_bzsGb-Mc z`QinZL{D)!T2!dOQbE^NhbP&4Tf2{@v1*NRfG&*-vUTYVox<%e8e4C6ETskft%?EdwLHLbWdJ zIVojWavN|SzuqB!51JfoM#9kT#eOg?-dSc7_OaW|dN9-l71;i-90HD= zCBgeO=*dhP!UJ*`x_LZssaK1c4DN1;4^wl8!>kkA6AUA>*C;YDUwVa!L3{3i^Ngze zGKVi|QEsbbaVF(ML>h3Y1f|Zq8Mbw(;(ETT^3ZAk5l-jxe;RnSN|)C3+h=z&2>q`- zq=BN}^60Hin&8<4yF}Nf@9h)b7#a-70<*lM$P(?{kziwS88$fE#ZvzuJ;|IWN1*h| zINCl&kHKd^0sboe1Y$l8BHnQQW!h9U+20m>`zBg;jPAdIV9nPU_4v6FPv!-<^oBLusHt zLUZ|#|M9>7-+%l6|0PA!>ir05e4svCPK!%rd@*gWDyK+hIj;HQl%smGGlFK}6|#~! zR)!IZ{>>vRl;dz5Ydp0>iDC8&cPAj*Hw9xX9QjXio*+Lz!XVj02!r)mry5UepUHOu zX*tOyTBZsFlLOf8C8;bNGGq#_H8ZT-T5^~GPjIVpQpQRROL@2VR08Cl>k1AqFxAT! zJiY2EF(^kxDeTMbP1+mrKoE9#^F;OfByLxrrr*kvegi73p{>!x!t>0*!B*@Vbp?K{ z$)Hid{pMQLc{P%p=lnuQ6%^H5ZgK}!EzoIB!Ur@^A7NizT4~kc!5srU6OTJ_-i@wJ zeVIRGPh<|KSK`gnI_wN$KWJUUenN0RGesgso5zREY6y&~aRf>}mpkU;An<=28eo-3 za?;SzEz7Kmz&9cBhq}#hzOIrLIIN8hex1!nE)mRD7UwC5{gdw=l{emc1NA_jK8F^o z8<(xpT3m<$`BjIzW2dRQEOsTi4G`-H0~w?dP+FEI6^4YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V4wpT_xr4^ A8UO$Q literal 0 HcmV?d00001 diff --git a/t/testdata/backward65536.compressed b/t/testdata/backward65536.compressed new file mode 100644 index 0000000000000000000000000000000000000000..07152197db668cd60dcc8141fc9d81e8d34c350e GIT binary patch literal 19 acma$4&%o%w#jskedJThzU-4VUNz4E{*9IB@ literal 0 HcmV?d00001 diff --git a/t/testdata/compressed_file b/t/testdata/compressed_file new file mode 100644 index 0000000000000000000000000000000000000000..37d86e253e9d812e7749cab674b9ee55f23083c0 GIT binary patch literal 50096 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 literal 0 HcmV?d00001 diff --git a/t/testdata/compressed_file.compressed b/t/testdata/compressed_file.compressed new file mode 100644 index 0000000000000000000000000000000000000000..8834f3275a80e77f03dd99010f43b5024255b515 GIT binary patch literal 50100 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 z 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 literal 0 HcmV?d00001 diff --git a/t/testdata/compressed_repeated b/t/testdata/compressed_repeated new file mode 100644 index 0000000000000000000000000000000000000000..9870b5fdc7539c0f60b6770a7d632cdc24b250a9 GIT binary patch literal 144224 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 literal 0 HcmV?d00001 diff --git a/t/testdata/compressed_repeated.compressed b/t/testdata/compressed_repeated.compressed new file mode 100644 index 0000000000000000000000000000000000000000..092754589e7f7578dbc7dce8bf19de55c5cab94c GIT binary patch literal 50299 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ú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 zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFz^F) Dl{p4% literal 0 HcmV?d00001 diff --git a/t/testdata/lcet10.txt b/t/testdata/lcet10.txt new file mode 100644 index 0000000..25dda6b --- /dev/null +++ b/t/testdata/lcet10.txt @@ -0,0 +1,7519 @@ + + +The Project Gutenberg Etext of LOC WORKSHOP ON ELECTRONIC TEXTS + + + + + WORKSHOP ON ELECTRONIC TEXTS + + PROCEEDINGS + + + + Edited by James Daly + + + + + + + + 9-10 June 1992 + + + Library of Congress + Washington, D.C. + + + + Supported by a Grant from the David and Lucile Packard Foundation + + + *** *** *** ****** *** *** *** + + + TABLE OF CONTENTS + + +Acknowledgements + +Introduction + +Proceedings + Welcome + Prosser Gifford and Carl Fleischhauer + + Session I. Content in a New Form: Who Will Use It and What Will They Do? + James Daly (Moderator) + Avra Michelson, Overview + Susan H. Veccia, User Evaluation + Joanne Freeman, Beyond the Scholar + Discussion + + Session II. Show and Tell + Jacqueline Hess (Moderator) + Elli Mylonas, Perseus Project + Discussion + Eric M. Calaluca, Patrologia Latina Database + Carl Fleischhauer and Ricky Erway, American Memory + Discussion + Dorothy Twohig, The Papers of George Washington + Discussion + Maria L. Lebron, The Online Journal of Current Clinical Trials + Discussion + Lynne K. Personius, Cornell mathematics books + Discussion + + Session III. Distribution, Networks, and Networking: + Options for Dissemination + Robert G. Zich (Moderator) + Clifford A. Lynch + Discussion + Howard Besser + Discussion + Ronald L. Larsen + Edwin B. Brownrigg + Discussion + + Session IV. Image Capture, Text Capture, Overview of Text and + Image Storage Formats + William L. Hooton (Moderator) + A) Principal Methods for Image Capture of Text: + direct scanning, use of microform + Anne R. Kenney + Pamela Q.J. Andre + Judith A. Zidar + Donald J. Waters + Discussion + B) Special Problems: bound volumes, conservation, + reproducing printed halftones + George Thoma + Carl Fleischhauer + Discussion + C) Image Standards and Implications for Preservation + Jean Baronas + Patricia Battin + Discussion + D) Text Conversion: OCR vs. rekeying, standards of accuracy + and use of imperfect texts, service bureaus + Michael Lesk + Ricky Erway + Judith A. Zidar + Discussion + + Session V. Approaches to Preparing Electronic Texts + Susan Hockey (Moderator) + Stuart Weibel + Discussion + C.M. Sperberg-McQueen + Discussion + Eric M. Calaluca + Discussion + + Session VI. Copyright Issues + Marybeth Peters + + Session VII. Conclusion + Prosser Gifford (Moderator) + General discussion + +Appendix I: Program + +Appendix II: Abstracts + +Appendix III: Directory of Participants + + + *** *** *** ****** *** *** *** + + + Acknowledgements + +I would like to thank Carl Fleischhauer and Prosser Gifford for the +opportunity to learn about areas of human activity unknown to me a scant +ten months ago, and the David and Lucile Packard Foundation for +supporting that opportunity. The help given by others is acknowledged on +a separate page. + + 19 October 1992 + + + *** *** *** ****** *** *** *** + + + INTRODUCTION + +The Workshop on Electronic Texts (1) drew together representatives of +various projects and interest groups to compare ideas, beliefs, +experiences, and, in particular, methods of placing and presenting +historical textual materials in computerized form. Most attendees gained +much in insight and outlook from the event. But the assembly did not +form a new nation, or, to put it another way, the diversity of projects +and interests was too great to draw the representatives into a cohesive, +action-oriented body.(2) + +Everyone attending the Workshop shared an interest in preserving and +providing access to historical texts. But within this broad field the +attendees represented a variety of formal, informal, figurative, and +literal groups, with many individuals belonging to more than one. These +groups may be defined roughly according to the following topics or +activities: + +* Imaging +* Searchable coded texts +* National and international computer networks +* CD-ROM production and dissemination +* Methods and technology for converting older paper materials into +electronic form +* Study of the use of digital materials by scholars and others + +This summary is arranged thematically and does not follow the actual +sequence of presentations. + +NOTES: + (1) In this document, the phrase electronic text is used to mean + any computerized reproduction or version of a document, book, + article, or manuscript (including images), and not merely a machine- + readable or machine-searchable text. + + (2) The Workshop was held at the Library of Congress on 9-10 June + 1992, with funding from the David and Lucile Packard Foundation. + The document that follows represents a summary of the presentations + made at the Workshop and was compiled by James DALY. This + introduction was written by DALY and Carl FLEISCHHAUER. + + +PRESERVATION AND IMAGING + +Preservation, as that term is used by archivists,(3) was most explicitly +discussed in the context of imaging. Anne KENNEY and Lynne PERSONIUS +explained how the concept of a faithful copy and the user-friendliness of +the traditional book have guided their project at Cornell University.(4) +Although interested in computerized dissemination, participants in the +Cornell project are creating digital image sets of older books in the +public domain as a source for a fresh paper facsimile or, in a future +phase, microfilm. The books returned to the library shelves are +high-quality and useful replacements on acid-free paper that should last +a long time. To date, the Cornell project has placed little or no +emphasis on creating searchable texts; one would not be surprised to find +that the project participants view such texts as new editions, and thus +not as faithful reproductions. + +In her talk on preservation, Patricia BATTIN struck an ecumenical and +flexible note as she endorsed the creation and dissemination of a variety +of types of digital copies. Do not be too narrow in defining what counts +as a preservation element, BATTIN counseled; for the present, at least, +digital copies made with preservation in mind cannot be as narrowly +standardized as, say, microfilm copies with the same objective. Setting +standards precipitously can inhibit creativity, but delay can result in +chaos, she advised. + +In part, BATTIN's position reflected the unsettled nature of image-format +standards, and attendees could hear echoes of this unsettledness in the +comments of various speakers. For example, Jean BARONAS reviewed the +status of several formal standards moving through committees of experts; +and Clifford LYNCH encouraged the use of a new guideline for transmitting +document images on Internet. Testimony from participants in the National +Agricultural Library's (NAL) Text Digitization Program and LC's American +Memory project highlighted some of the challenges to the actual creation +or interchange of images, including difficulties in converting +preservation microfilm to digital form. Donald WATERS reported on the +progress of a master plan for a project at Yale University to convert +books on microfilm to digital image sets, Project Open Book (POB). + +The Workshop offered rather less of an imaging practicum than planned, +but "how-to" hints emerge at various points, for example, throughout +KENNEY's presentation and in the discussion of arcana such as +thresholding and dithering offered by George THOMA and FLEISCHHAUER. + +NOTES: + (3) Although there is a sense in which any reproductions of + historical materials preserve the human record, specialists in the + field have developed particular guidelines for the creation of + acceptable preservation copies. + + (4) Titles and affiliations of presenters are given at the + beginning of their respective talks and in the Directory of + Participants (Appendix III). + + +THE MACHINE-READABLE TEXT: MARKUP AND USE + +The sections of the Workshop that dealt with machine-readable text tended +to be more concerned with access and use than with preservation, at least +in the narrow technical sense. Michael SPERBERG-McQUEEN made a forceful +presentation on the Text Encoding Initiative's (TEI) implementation of +the Standard Generalized Markup Language (SGML). His ideas were echoed +by Susan HOCKEY, Elli MYLONAS, and Stuart WEIBEL. While the +presentations made by the TEI advocates contained no practicum, their +discussion focused on the value of the finished product, what the +European Community calls reusability, but what may also be termed +durability. They argued that marking up--that is, coding--a text in a +well-conceived way will permit it to be moved from one computer +environment to another, as well as to be used by various users. Two +kinds of markup were distinguished: 1) procedural markup, which +describes the features of a text (e.g., dots on a page), and 2) +descriptive markup, which describes the structure or elements of a +document (e.g., chapters, paragraphs, and front matter). + +The TEI proponents emphasized the importance of texts to scholarship. +They explained how heavily coded (and thus analyzed and annotated) texts +can underlie research, play a role in scholarly communication, and +facilitate classroom teaching. SPERBERG-McQUEEN reminded listeners that +a written or printed item (e.g., a particular edition of a book) is +merely a representation of the abstraction we call a text. To concern +ourselves with faithfully reproducing a printed instance of the text, +SPERBERG-McQUEEN argued, is to concern ourselves with the representation +of a representation ("images as simulacra for the text"). The TEI proponents' +interest in images tends to focus on corollary materials for use in teaching, +for example, photographs of the Acropolis to accompany a Greek text. + +By the end of the Workshop, SPERBERG-McQUEEN confessed to having been +converted to a limited extent to the view that electronic images +constitute a promising alternative to microfilming; indeed, an +alternative probably superior to microfilming. But he was not convinced +that electronic images constitute a serious attempt to represent text in +electronic form. HOCKEY and MYLONAS also conceded that their experience +at the Pierce Symposium the previous week at Georgetown University and +the present conference at the Library of Congress had compelled them to +reevaluate their perspective on the usefulness of text as images. +Attendees could see that the text and image advocates were in +constructive tension, so to say. + +Three nonTEI presentations described approaches to preparing +machine-readable text that are less rigorous and thus less expensive. In +the case of the Papers of George Washington, Dorothy TWOHIG explained +that the digital version will provide a not-quite-perfect rendering of +the transcribed text--some 135,000 documents, available for research +during the decades while the perfect or print version is completed. +Members of the American Memory team and the staff of NAL's Text +Digitization Program (see below) also outlined a middle ground concerning +searchable texts. In the case of American Memory, contractors produce +texts with about 99-percent accuracy that serve as "browse" or +"reference" versions of written or printed originals. End users who need +faithful copies or perfect renditions must refer to accompanying sets of +digital facsimile images or consult copies of the originals in a nearby +library or archive. American Memory staff argued that the high cost of +producing 100-percent accurate copies would prevent LC from offering +access to large parts of its collections. + + +THE MACHINE-READABLE TEXT: METHODS OF CONVERSION + +Although the Workshop did not include a systematic examination of the +methods for converting texts from paper (or from facsimile images) into +machine-readable form, nevertheless, various speakers touched upon this +matter. For example, WEIBEL reported that OCLC has experimented with a +merging of multiple optical character recognition systems that will +reduce errors from an unacceptable rate of 5 characters out of every +l,000 to an unacceptable rate of 2 characters out of every l,000. + +Pamela ANDRE presented an overview of NAL's Text Digitization Program and +Judith ZIDAR discussed the technical details. ZIDAR explained how NAL +purchased hardware and software capable of performing optical character +recognition (OCR) and text conversion and used its own staff to convert +texts. The process, ZIDAR said, required extensive editing and project +staff found themselves considering alternatives, including rekeying +and/or creating abstracts or summaries of texts. NAL reckoned costs at +$7 per page. By way of contrast, Ricky ERWAY explained that American +Memory had decided from the start to contract out conversion to external +service bureaus. The criteria used to select these contractors were cost +and quality of results, as opposed to methods of conversion. ERWAY noted +that historical documents or books often do not lend themselves to OCR. +Bound materials represent a special problem. In her experience, quality +control--inspecting incoming materials, counting errors in samples--posed +the most time-consuming aspect of contracting out conversion. ERWAY +reckoned American Memory's costs at $4 per page, but cautioned that fewer +cost-elements had been included than in NAL's figure. + + +OPTIONS FOR DISSEMINATION + +The topic of dissemination proper emerged at various points during the +Workshop. At the session devoted to national and international computer +networks, LYNCH, Howard BESSER, Ronald LARSEN, and Edwin BROWNRIGG +highlighted the virtues of Internet today and of the network that will +evolve from Internet. Listeners could discern in these narratives a +vision of an information democracy in which millions of citizens freely +find and use what they need. LYNCH noted that a lack of standards +inhibits disseminating multimedia on the network, a topic also discussed +by BESSER. LARSEN addressed the issues of network scalability and +modularity and commented upon the difficulty of anticipating the effects +of growth in orders of magnitude. BROWNRIGG talked about the ability of +packet radio to provide certain links in a network without the need for +wiring. However, the presenters also called attention to the +shortcomings and incongruities of present-day computer networks. For +example: 1) Network use is growing dramatically, but much network +traffic consists of personal communication (E-mail). 2) Large bodies of +information are available, but a user's ability to search across their +entirety is limited. 3) There are significant resources for science and +technology, but few network sources provide content in the humanities. +4) Machine-readable texts are commonplace, but the capability of the +system to deal with images (let alone other media formats) lags behind. +A glimpse of a multimedia future for networks, however, was provided by +Maria LEBRON in her overview of the Online Journal of Current Clinical +Trials (OJCCT), and the process of scholarly publishing on-line. + +The contrasting form of the CD-ROM disk was never systematically +analyzed, but attendees could glean an impression from several of the +show-and-tell presentations. The Perseus and American Memory examples +demonstrated recently published disks, while the descriptions of the +IBYCUS version of the Papers of George Washington and Chadwyck-Healey's +Patrologia Latina Database (PLD) told of disks to come. According to +Eric CALALUCA, PLD's principal focus has been on converting Jacques-Paul +Migne's definitive collection of Latin texts to machine-readable form. +Although everyone could share the network advocates' enthusiasm for an +on-line future, the possibility of rolling up one's sleeves for a session +with a CD-ROM containing both textual materials and a powerful retrieval +engine made the disk seem an appealing vessel indeed. The overall +discussion suggested that the transition from CD-ROM to on-line networked +access may prove far slower and more difficult than has been anticipated. + + +WHO ARE THE USERS AND WHAT DO THEY DO? + +Although concerned with the technicalities of production, the Workshop +never lost sight of the purposes and uses of electronic versions of +textual materials. As noted above, those interested in imaging discussed +the problematical matter of digital preservation, while the TEI proponents +described how machine-readable texts can be used in research. This latter +topic received thorough treatment in the paper read by Avra MICHELSON. +She placed the phenomenon of electronic texts within the context of +broader trends in information technology and scholarly communication. + +Among other things, MICHELSON described on-line conferences that +represent a vigorous and important intellectual forum for certain +disciplines. Internet now carries more than 700 conferences, with about +80 percent of these devoted to topics in the social sciences and the +humanities. Other scholars use on-line networks for "distance learning." +Meanwhile, there has been a tremendous growth in end-user computing; +professors today are less likely than their predecessors to ask the +campus computer center to process their data. Electronic texts are one +key to these sophisticated applications, MICHELSON reported, and more and +more scholars in the humanities now work in an on-line environment. +Toward the end of the Workshop, Michael LESK presented a corollary to +MICHELSON's talk, reporting the results of an experiment that compared +the work of one group of chemistry students using traditional printed +texts and two groups using electronic sources. The experiment +demonstrated that in the event one does not know what to read, one needs +the electronic systems; the electronic systems hold no advantage at the +moment if one knows what to read, but neither do they impose a penalty. + +DALY provided an anecdotal account of the revolutionizing impact of the +new technology on his previous methods of research in the field of classics. +His account, by extrapolation, served to illustrate in part the arguments +made by MICHELSON concerning the positive effects of the sudden and radical +transformation being wrought in the ways scholars work. + +Susan VECCIA and Joanne FREEMAN delineated the use of electronic +materials outside the university. The most interesting aspect of their +use, FREEMAN said, could be seen as a paradox: teachers in elementary +and secondary schools requested access to primary source materials but, +at the same time, found that "primariness" itself made these materials +difficult for their students to use. + + +OTHER TOPICS + +Marybeth PETERS reviewed copyright law in the United States and offered +advice during a lively discussion of this subject. But uncertainty +remains concerning the price of copyright in a digital medium, because a +solution remains to be worked out concerning management and synthesis of +copyrighted and out-of-copyright pieces of a database. + +As moderator of the final session of the Workshop, Prosser GIFFORD directed +discussion to future courses of action and the potential role of LC in +advancing them. Among the recommendations that emerged were the following: + + * Workshop participants should 1) begin to think about working + with image material, but structure and digitize it in such a + way that at a later stage it can be interpreted into text, and + 2) find a common way to build text and images together so that + they can be used jointly at some stage in the future, with + appropriate network support, because that is how users will want + to access these materials. The Library might encourage attempts + to bring together people who are working on texts and images. + + * A network version of American Memory should be developed or + consideration should be given to making the data in it + available to people interested in doing network multimedia. + Given the current dearth of digital data that is appealing and + unencumbered by extremely complex rights problems, developing a + network version of American Memory could do much to help make + network multimedia a reality. + + * Concerning the thorny issue of electronic deposit, LC should + initiate a catalytic process in terms of distributed + responsibility, that is, bring together the distributed + organizations and set up a study group to look at all the + issues related to electronic deposit and see where we as a + nation should move. For example, LC might attempt to persuade + one major library in each state to deal with its state + equivalent publisher, which might produce a cooperative project + that would be equitably distributed around the country, and one + in which LC would be dealing with a minimal number of publishers + and minimal copyright problems. LC must also deal with the + concept of on-line publishing, determining, among other things, + how serials such as OJCCT might be deposited for copyright. + + * Since a number of projects are planning to carry out + preservation by creating digital images that will end up in + on-line or near-line storage at some institution, LC might play + a helpful role, at least in the near term, by accelerating how + to catalog that information into the Research Library Information + Network (RLIN) and then into OCLC, so that it would be accessible. + This would reduce the possibility of multiple institutions digitizing + the same work. + + +CONCLUSION + +The Workshop was valuable because it brought together partisans from +various groups and provided an occasion to compare goals and methods. +The more committed partisans frequently communicate with others in their +groups, but less often across group boundaries. The Workshop was also +valuable to attendees--including those involved with American Memory--who +came less committed to particular approaches or concepts. These +attendees learned a great deal, and plan to select and employ elements of +imaging, text-coding, and networked distribution that suit their +respective projects and purposes. + +Still, reality rears its ugly head: no breakthrough has been achieved. +On the imaging side, one confronts a proliferation of competing +data-interchange standards and a lack of consensus on the role of digital +facsimiles in preservation. In the realm of machine-readable texts, one +encounters a reasonably mature standard but methodological difficulties +and high costs. These latter problems, of course, represent a special +impediment to the desire, as it is sometimes expressed in the popular +press, "to put the [contents of the] Library of Congress on line." In +the words of one participant, there was "no solution to the economic +problems--the projects that are out there are surviving, but it is going +to be a lot of work to transform the information industry, and so far the +investment to do that is not forthcoming" (LESK, per litteras). + + + *** *** *** ****** *** *** *** + + + PROCEEDINGS + + +WELCOME + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +GIFFORD * Origin of Workshop in current Librarian's desire to make LC's +collections more widely available * Desiderata arising from the prospect +of greater interconnectedness * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +After welcoming participants on behalf of the Library of Congress, +American Memory (AM), and the National Demonstration Lab, Prosser +GIFFORD, director for scholarly programs, Library of Congress, located +the origin of the Workshop on Electronic Texts in a conversation he had +had considerably more than a year ago with Carl FLEISCHHAUER concerning +some of the issues faced by AM. On the assumption that numerous other +people were asking the same questions, the decision was made to bring +together as many of these people as possible to ask the same questions +together. In a deeper sense, GIFFORD said, the origin of the Workshop +lay in the desire of the current Librarian of Congress, James H. +Billington, to make the collections of the Library, especially those +offering unique or unusual testimony on aspects of the American +experience, available to a much wider circle of users than those few +people who can come to Washington to use them. This meant that the +emphasis of AM, from the outset, has been on archival collections of the +basic material, and on making these collections themselves available, +rather than selected or heavily edited products. + +From AM's emphasis followed the questions with which the Workshop began: +who will use these materials, and in what form will they wish to use +them. But an even larger issue deserving mention, in GIFFORD's view, was +the phenomenal growth in Internet connectivity. He expressed the hope +that the prospect of greater interconnectedness than ever before would +lead to: 1) much more cooperative and mutually supportive endeavors; 2) +development of systems of shared and distributed responsibilities to +avoid duplication and to ensure accuracy and preservation of unique +materials; and 3) agreement on the necessary standards and development of +the appropriate directories and indices to make navigation +straightforward among the varied resources that are, and increasingly +will be, available. In this connection, GIFFORD requested that +participants reflect from the outset upon the sorts of outcomes they +thought the Workshop might have. Did those present constitute a group +with sufficient common interests to propose a next step or next steps, +and if so, what might those be? They would return to these questions the +following afternoon. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +FLEISCHHAUER * Core of Workshop concerns preparation and production of +materials * Special challenge in conversion of textual materials * +Quality versus quantity * Do the several groups represented share common +interests? * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Carl FLEISCHHAUER, coordinator, American Memory, Library of Congress, +emphasized that he would attempt to represent the people who perform some +of the work of converting or preparing materials and that the core of +the Workshop had to do with preparation and production. FLEISCHHAUER +then drew a distinction between the long term, when many things would be +available and connected in the ways that GIFFORD described, and the short +term, in which AM not only has wrestled with the issue of what is the +best course to pursue but also has faced a variety of technical +challenges. + +FLEISCHHAUER remarked AM's endeavors to deal with a wide range of library +formats, such as motion picture collections, sound-recording collections, +and pictorial collections of various sorts, especially collections of +photographs. In the course of these efforts, AM kept coming back to +textual materials--manuscripts or rare printed matter, bound materials, +etc. Text posed the greatest conversion challenge of all. Thus, the +genesis of the Workshop, which reflects the problems faced by AM. These +problems include physical problems. For example, those in the library +and archive business deal with collections made up of fragile and rare +manuscript items, bound materials, especially the notoriously brittle +bound materials of the late nineteenth century. These are precious +cultural artifacts, however, as well as interesting sources of +information, and LC desires to retain and conserve them. AM needs to +handle things without damaging them. Guillotining a book to run it +through a sheet feeder must be avoided at all costs. + +Beyond physical problems, issues pertaining to quality arose. For +example, the desire to provide users with a searchable text is affected +by the question of acceptable level of accuracy. One hundred percent +accuracy is tremendously expensive. On the other hand, the output of +optical character recognition (OCR) can be tremendously inaccurate. +Although AM has attempted to find a middle ground, uncertainty persists +as to whether or not it has discovered the right solution. + +Questions of quality arose concerning images as well. FLEISCHHAUER +contrasted the extremely high level of quality of the digital images in +the Cornell Xerox Project with AM's efforts to provide a browse-quality +or access-quality image, as opposed to an archival or preservation image. +FLEISCHHAUER therefore welcomed the opportunity to compare notes. + +FLEISCHHAUER observed in passing that conversations he had had about +networks have begun to signal that for various forms of media a +determination may be made that there is a browse-quality item, or a +distribution-and-access-quality item that may coexist in some systems +with a higher quality archival item that would be inconvenient to send +through the network because of its size. FLEISCHHAUER referred, of +course, to images more than to searchable text. + +As AM considered those questions, several conceptual issues arose: ought +AM occasionally to reproduce materials entirely through an image set, at +other times, entirely through a text set, and in some cases, a mix? +There probably would be times when the historical authenticity of an +artifact would require that its image be used. An image might be +desirable as a recourse for users if one could not provide 100-percent +accurate text. Again, AM wondered, as a practical matter, if a +distinction could be drawn between rare printed matter that might exist +in multiple collections--that is, in ten or fifteen libraries. In such +cases, the need for perfect reproduction would be less than for unique +items. Implicit in his remarks, FLEISCHHAUER conceded, was the admission +that AM has been tilting strongly towards quantity and drawing back a +little from perfect quality. That is, it seemed to AM that society would +be better served if more things were distributed by LC--even if they were +not quite perfect--than if fewer things, perfectly represented, were +distributed. This was stated as a proposition to be tested, with +responses to be gathered from users. + +In thinking about issues related to reproduction of materials and seeing +other people engaged in parallel activities, AM deemed it useful to +convene a conference. Hence, the Workshop. FLEISCHHAUER thereupon +surveyed the several groups represented: 1) the world of images (image +users and image makers); 2) the world of text and scholarship and, within +this group, those concerned with language--FLEISCHHAUER confessed to finding +delightful irony in the fact that some of the most advanced thinkers on +computerized texts are those dealing with ancient Greek and Roman materials; +3) the network world; and 4) the general world of library science, which +includes people interested in preservation and cataloging. + +FLEISCHHAUER concluded his remarks with special thanks to the David and +Lucile Packard Foundation for its support of the meeting, the American +Memory group, the Office for Scholarly Programs, the National +Demonstration Lab, and the Office of Special Events. He expressed the +hope that David Woodley Packard might be able to attend, noting that +Packard's work and the work of the foundation had sponsored a number of +projects in the text area. + + ****** + +SESSION I. CONTENT IN A NEW FORM: WHO WILL USE IT AND WHAT WILL THEY DO? + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DALY * Acknowledgements * A new Latin authors disk * Effects of the new +technology on previous methods of research * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Serving as moderator, James DALY acknowledged the generosity of all the +presenters for giving of their time, counsel, and patience in planning +the Workshop, as well as of members of the American Memory project and +other Library of Congress staff, and the David and Lucile Packard +Foundation and its executive director, Colburn S. Wilbur. + +DALY then recounted his visit in March to the Center for Electronic Texts +in the Humanities (CETH) and the Department of Classics at Rutgers +University, where an old friend, Lowell Edmunds, introduced him to the +department's IBYCUS scholarly personal computer, and, in particular, the +new Latin CD-ROM, containing, among other things, almost all classical +Latin literary texts through A.D. 200. Packard Humanities Institute +(PHI), Los Altos, California, released this disk late in 1991, with a +nominal triennial licensing fee. + +Playing with the disk for an hour or so at Rutgers brought home to DALY +at once the revolutionizing impact of the new technology on his previous +methods of research. Had this disk been available two or three years +earlier, DALY contended, when he was engaged in preparing a commentary on +Book 10 of Virgil's Aeneid for Cambridge University Press, he would not +have required a forty-eight-square-foot table on which to spread the +numerous, most frequently consulted items, including some ten or twelve +concordances to key Latin authors, an almost equal number of lexica to +authors who lacked concordances, and where either lexica or concordances +were lacking, numerous editions of authors antedating and postdating Virgil. + +Nor, when checking each of the average six to seven words contained in +the Virgilian hexameter for its usage elsewhere in Virgil's works or +other Latin authors, would DALY have had to maintain the laborious +mechanical process of flipping through these concordances, lexica, and +editions each time. Nor would he have had to frequent as often the +Milton S. Eisenhower Library at the Johns Hopkins University to consult +the Thesaurus Linguae Latinae. Instead of devoting countless hours, or +the bulk of his research time, to gathering data concerning Virgil's use +of words, DALY--now freed by PHI's Latin authors disk from the +tyrannical, yet in some ways paradoxically happy scholarly drudgery-- +would have been able to devote that same bulk of time to analyzing and +interpreting Virgilian verbal usage. + +Citing Theodore Brunner, Gregory Crane, Elli MYLONAS, and Avra MICHELSON, +DALY argued that this reversal in his style of work, made possible by the +new technology, would perhaps have resulted in better, more productive +research. Indeed, even in the course of his browsing the Latin authors +disk at Rutgers, its powerful search, retrieval, and highlighting +capabilities suggested to him several new avenues of research into +Virgil's use of sound effects. This anecdotal account, DALY maintained, +may serve to illustrate in part the sudden and radical transformation +being wrought in the ways scholars work. + + ****** + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +MICHELSON * Elements related to scholarship and technology * Electronic +texts within the context of broader trends within information technology +and scholarly communication * Evaluation of the prospects for the use of +electronic texts * Relationship of electronic texts to processes of +scholarly communication in humanities research * New exchange formats +created by scholars * Projects initiated to increase scholarly access to +converted text * Trend toward making electronic resources available +through research and education networks * Changes taking place in +scholarly communication among humanities scholars * Network-mediated +scholarship transforming traditional scholarly practices * Key +information technology trends affecting the conduct of scholarly +communication over the next decade * The trend toward end-user computing +* The trend toward greater connectivity * Effects of these trends * Key +transformations taking place * Summary of principal arguments * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Avra MICHELSON, Archival Research and Evaluation Staff, National Archives +and Records Administration (NARA), argued that establishing who will use +electronic texts and what they will use them for involves a consideration +of both information technology and scholarship trends. This +consideration includes several elements related to scholarship and +technology: 1) the key trends in information technology that are most +relevant to scholarship; 2) the key trends in the use of currently +available technology by scholars in the nonscientific community; and 3) +the relationship between these two very distinct but interrelated trends. +The investment in understanding this relationship being made by +information providers, technologists, and public policy developers, as +well as by scholars themselves, seems to be pervasive and growing, +MICHELSON contended. She drew on collaborative work with Jeff Rothenberg +on the scholarly use of technology. + +MICHELSON sought to place the phenomenon of electronic texts within the +context of broader trends within information technology and scholarly +communication. She argued that electronic texts are of most use to +researchers to the extent that the researchers' working context (i.e., +their relevant bibliographic sources, collegial feedback, analytic tools, +notes, drafts, etc.), along with their field's primary and secondary +sources, also is accessible in electronic form and can be integrated in +ways that are unique to the on-line environment. + +Evaluation of the prospects for the use of electronic texts includes two +elements: 1) an examination of the ways in which researchers currently +are using electronic texts along with other electronic resources, and 2) +an analysis of key information technology trends that are affecting the +long-term conduct of scholarly communication. MICHELSON limited her +discussion of the use of electronic texts to the practices of humanists +and noted that the scientific community was outside the panel's overview. + +MICHELSON examined the nature of the current relationship of electronic +texts in particular, and electronic resources in general, to what she +maintained were, essentially, five processes of scholarly communication +in humanities research. Researchers 1) identify sources, 2) communicate +with their colleagues, 3) interpret and analyze data, 4) disseminate +their research findings, and 5) prepare curricula to instruct the next +generation of scholars and students. This examination would produce a +clearer understanding of the synergy among these five processes that +fuels the tendency of the use of electronic resources for one process to +stimulate its use for other processes of scholarly communication. + +For the first process of scholarly communication, the identification of +sources, MICHELSON remarked the opportunity scholars now enjoy to +supplement traditional word-of-mouth searches for sources among their +colleagues with new forms of electronic searching. So, for example, +instead of having to visit the library, researchers are able to explore +descriptions of holdings in their offices. Furthermore, if their own +institutions' holdings prove insufficient, scholars can access more than +200 major American library catalogues over Internet, including the +universities of California, Michigan, Pennsylvania, and Wisconsin. +Direct access to the bibliographic databases offers intellectual +empowerment to scholars by presenting a comprehensive means of browsing +through libraries from their homes and offices at their convenience. + +The second process of communication involves communication among +scholars. Beyond the most common methods of communication, scholars are +using E-mail and a variety of new electronic communications formats +derived from it for further academic interchange. E-mail exchanges are +growing at an astonishing rate, reportedly 15 percent a month. They +currently constitute approximately half the traffic on research and +education networks. Moreover, the global spread of E-mail has been so +rapid that it is now possible for American scholars to use it to +communicate with colleagues in close to 140 other countries. + +Other new exchange formats created by scholars and operating on Internet +include more than 700 conferences, with about 80 percent of these devoted +to topics in the social sciences and humanities. The rate of growth of +these scholarly electronic conferences also is astonishing. From l990 to +l991, 200 new conferences were identified on Internet. From October 1991 +to June 1992, an additional 150 conferences in the social sciences and +humanities were added to this directory of listings. Scholars have +established conferences in virtually every field, within every different +discipline. For example, there are currently close to 600 active social +science and humanities conferences on topics such as art and +architecture, ethnomusicology, folklore, Japanese culture, medical +education, and gifted and talented education. The appeal to scholars of +communicating through these conferences is that, unlike any other medium, +electronic conferences today provide a forum for global communication +with peers at the front end of the research process. + +Interpretation and analysis of sources constitutes the third process of +scholarly communication that MICHELSON discussed in terms of texts and +textual resources. The methods used to analyze sources fall somewhere on +a continuum from quantitative analysis to qualitative analysis. +Typically, evidence is culled and evaluated using methods drawn from both +ends of this continuum. At one end, quantitative analysis involves the +use of mathematical processes such as a count of frequencies and +distributions of occurrences or, on a higher level, regression analysis. +At the other end of the continuum, qualitative analysis typically +involves nonmathematical processes oriented toward language +interpretation or the building of theory. Aspects of this work involve +the processing--either manual or computational--of large and sometimes +massive amounts of textual sources, although the use of nontextual +sources as evidence, such as photographs, sound recordings, film footage, +and artifacts, is significant as well. + +Scholars have discovered that many of the methods of interpretation and +analysis that are related to both quantitative and qualitative methods +are processes that can be performed by computers. For example, computers +can count. They can count brush strokes used in a Rembrandt painting or +perform regression analysis for understanding cause and effect. By means +of advanced technologies, computers can recognize patterns, analyze text, +and model concepts. Furthermore, computers can complete these processes +faster with more sources and with greater precision than scholars who +must rely on manual interpretation of data. But if scholars are to use +computers for these processes, source materials must be in a form +amenable to computer-assisted analysis. For this reason many scholars, +once they have identified the sources that are key to their research, are +converting them to machine-readable form. Thus, a representative example +of the numerous textual conversion projects organized by scholars around +the world in recent years to support computational text analysis is the +TLG, the Thesaurus Linguae Graecae. This project is devoted to +converting the extant ancient texts of classical Greece. (Editor's note: +according to the TLG Newsletter of May l992, TLG was in use in thirty-two +different countries. This figure updates MICHELSON's previous count by one.) + +The scholars performing these conversions have been asked to recognize +that the electronic sources they are converting for one use possess value +for other research purposes as well. As a result, during the past few +years, humanities scholars have initiated a number of projects to +increase scholarly access to converted text. So, for example, the Text +Encoding Initiative (TEI), about which more is said later in the program, +was established as an effort by scholars to determine standard elements +and methods for encoding machine-readable text for electronic exchange. +In a second effort to facilitate the sharing of converted text, scholars +have created a new institution, the Center for Electronic Texts in the +Humanities (CETH). The center estimates that there are 8,000 series of +source texts in the humanities that have been converted to +machine-readable form worldwide. CETH is undertaking an international +search for converted text in the humanities, compiling it into an +electronic library, and preparing bibliographic descriptions of the +sources for the Research Libraries Information Network's (RLIN) +machine-readable data file. The library profession has begun to initiate +large conversion projects as well, such as American Memory. + +While scholars have been making converted text available to one another, +typically on disk or on CD-ROM, the clear trend is toward making these +resources available through research and education networks. Thus, the +American and French Research on the Treasury of the French Language +(ARTFL) and the Dante Project are already available on Internet. +MICHELSON summarized this section on interpretation and analysis by +noting that: 1) increasing numbers of humanities scholars in the library +community are recognizing the importance to the advancement of +scholarship of retrospective conversion of source materials in the arts +and humanities; and 2) there is a growing realization that making the +sources available on research and education networks maximizes their +usefulness for the analysis performed by humanities scholars. + +The fourth process of scholarly communication is dissemination of +research findings, that is, publication. Scholars are using existing +research and education networks to engineer a new type of publication: +scholarly-controlled journals that are electronically produced and +disseminated. Although such journals are still emerging as a +communication format, their number has grown, from approximately twelve +to thirty-six during the past year (July 1991 to June 1992). Most of +these electronic scholarly journals are devoted to topics in the +humanities. As with network conferences, scholarly enthusiasm for these +electronic journals stems from the medium's unique ability to advance +scholarship in a way that no other medium can do by supporting global +feedback and interchange, practically in real time, early in the research +process. Beyond scholarly journals, MICHELSON remarked the delivery of +commercial full-text products, such as articles in professional journals, +newsletters, magazines, wire services, and reference sources. These are +being delivered via on-line local library catalogues, especially through +CD-ROMs. Furthermore, according to MICHELSON, there is general optimism +that the copyright and fees issues impeding the delivery of full text on +existing research and education networks soon will be resolved. + +The final process of scholarly communication is curriculum development +and instruction, and this involves the use of computer information +technologies in two areas. The first is the development of +computer-oriented instructional tools, which includes simulations, +multimedia applications, and computer tools that are used to assist in +the analysis of sources in the classroom, etc. The Perseus Project, a +database that provides a multimedia curriculum on classical Greek +civilization, is a good example of the way in which entire curricula are +being recast using information technologies. It is anticipated that the +current difficulty in exchanging electronically computer-based +instructional software, which in turn makes it difficult for one scholar +to build upon the work of others, will be resolved before too long. +Stand-alone curricular applications that involve electronic text will be +sharable through networks, reinforcing their significance as intellectual +products as well as instructional tools. + +The second aspect of electronic learning involves the use of research and +education networks for distance education programs. Such programs +interactively link teachers with students in geographically scattered +locations and rely on the availability of electronic instructional +resources. Distance education programs are gaining wide appeal among +state departments of education because of their demonstrated capacity to +bring advanced specialized course work and an array of experts to many +classrooms. A recent report found that at least 32 states operated at +least one statewide network for education in 1991, with networks under +development in many of the remaining states. + +MICHELSON summarized this section by noting two striking changes taking +place in scholarly communication among humanities scholars. First is the +extent to which electronic text in particular, and electronic resources +in general, are being infused into each of the five processes described +above. As mentioned earlier, there is a certain synergy at work here. +The use of electronic resources for one process tends to stimulate its +use for other processes, because the chief course of movement is toward a +comprehensive on-line working context for humanities scholars that +includes on-line availability of key bibliographies, scholarly feedback, +sources, analytical tools, and publications. MICHELSON noted further +that the movement toward a comprehensive on-line working context for +humanities scholars is not new. In fact, it has been underway for more +than forty years in the humanities, since Father Roberto Busa began +developing an electronic concordance of the works of Saint Thomas Aquinas +in 1949. What we are witnessing today, MICHELSON contended, is not the +beginning of this on-line transition but, for at least some humanities +scholars, the turning point in the transition from a print to an +electronic working context. Coinciding with the on-line transition, the +second striking change is the extent to which research and education +networks are becoming the new medium of scholarly communication. The +existing Internet and the pending National Education and Research Network +(NREN) represent the new meeting ground where scholars are going for +bibliographic information, scholarly dialogue and feedback, the most +current publications in their field, and high-level educational +offerings. Traditional scholarly practices are undergoing tremendous +transformations as a result of the emergence and growing prominence of +what is called network-mediated scholarship. + +MICHELSON next turned to the second element of the framework she proposed +at the outset of her talk for evaluating the prospects for electronic +text, namely the key information technology trends affecting the conduct +of scholarly communication over the next decade: 1) end-user computing +and 2) connectivity. + +End-user computing means that the person touching the keyboard, or +performing computations, is the same as the person who initiates or +consumes the computation. The emergence of personal computers, along +with a host of other forces, such as ubiquitous computing, advances in +interface design, and the on-line transition, is prompting the consumers +of computation to do their own computing, and is thus rendering obsolete +the traditional distinction between end users and ultimate users. + +The trend toward end-user computing is significant to consideration of +the prospects for electronic texts because it means that researchers are +becoming more adept at doing their own computations and, thus, more +competent in the use of electronic media. By avoiding programmer +intermediaries, computation is becoming central to the researcher's +thought process. This direct involvement in computing is changing the +researcher's perspective on the nature of research itself, that is, the +kinds of questions that can be posed, the analytical methodologies that +can be used, the types and amount of sources that are appropriate for +analyses, and the form in which findings are presented. The trend toward +end-user computing means that, increasingly, electronic media and +computation are being infused into all processes of humanities +scholarship, inspiring remarkable transformations in scholarly +communication. + +The trend toward greater connectivity suggests that researchers are using +computation increasingly in network environments. Connectivity is +important to scholarship because it erases the distance that separates +students from teachers and scholars from their colleagues, while allowing +users to access remote databases, share information in many different +media, connect to their working context wherever they are, and +collaborate in all phases of research. + +The combination of the trend toward end-user computing and the trend +toward connectivity suggests that the scholarly use of electronic +resources, already evident among some researchers, will soon become an +established feature of scholarship. The effects of these trends, along +with ongoing changes in scholarly practices, point to a future in which +humanities researchers will use computation and electronic communication +to help them formulate ideas, access sources, perform research, +collaborate with colleagues, seek peer review, publish and disseminate +results, and engage in many other professional and educational activities. + +In summary, MICHELSON emphasized four points: 1) A portion of humanities +scholars already consider electronic texts the preferred format for +analysis and dissemination. 2) Scholars are using these electronic +texts, in conjunction with other electronic resources, in all the +processes of scholarly communication. 3) The humanities scholars' +working context is in the process of changing from print technology to +electronic technology, in many ways mirroring transformations that have +occurred or are occurring within the scientific community. 4) These +changes are occurring in conjunction with the development of a new +communication medium: research and education networks that are +characterized by their capacity to advance scholarship in a wholly unique +way. + +MICHELSON also reiterated her three principal arguments: l) Electronic +texts are best understood in terms of the relationship to other +electronic resources and the growing prominence of network-mediated +scholarship. 2) The prospects for electronic texts lie in their capacity +to be integrated into the on-line network of electronic resources that +comprise the new working context for scholars. 3) Retrospective conversion +of portions of the scholarly record should be a key strategy as information +providers respond to changes in scholarly communication practices. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +VECCIA * AM's evaluation project and public users of electronic resources +* AM and its design * Site selection and evaluating the Macintosh +implementation of AM * Characteristics of the six public libraries +selected * Characteristics of AM's users in these libraries * Principal +ways AM is being used * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Susan VECCIA, team leader, and Joanne FREEMAN, associate coordinator, +American Memory, Library of Congress, gave a joint presentation. First, +by way of introduction, VECCIA explained her and FREEMAN's roles in +American Memory (AM). Serving principally as an observer, VECCIA has +assisted with the evaluation project of AM, placing AM collections in a +variety of different sites around the country and helping to organize and +implement that project. FREEMAN has been an associate coordinator of AM +and has been involved principally with the interpretative materials, +preparing some of the electronic exhibits and printed historical +information that accompanies AM and that is requested by users. VECCIA +and FREEMAN shared anecdotal observations concerning AM with public users +of electronic resources. Notwithstanding a fairly structured evaluation +in progress, both VECCIA and FREEMAN chose not to report on specifics in +terms of numbers, etc., because they felt it was too early in the +evaluation project to do so. + +AM is an electronic archive of primary source materials from the Library +of Congress, selected collections representing a variety of formats-- +photographs, graphic arts, recorded sound, motion pictures, broadsides, +and soon, pamphlets and books. In terms of the design of this system, +the interpretative exhibits have been kept separate from the primary +resources, with good reason. Accompanying this collection are printed +documentation and user guides, as well as guides that FREEMAN prepared for +teachers so that they may begin using the content of the system at once. + +VECCIA described the evaluation project before talking about the public +users of AM, limiting her remarks to public libraries, because FREEMAN +would talk more specifically about schools from kindergarten to twelfth +grade (K-12). Having started in spring 1991, the evaluation currently +involves testing of the Macintosh implementation of AM. Since the +primary goal of this evaluation is to determine the most appropriate +audience or audiences for AM, very different sites were selected. This +makes evaluation difficult because of the varying degrees of technology +literacy among the sites. AM is situated in forty-four locations, of +which six are public libraries and sixteen are schools. Represented +among the schools are elementary, junior high, and high schools. +District offices also are involved in the evaluation, which will +conclude in summer 1993. + +VECCIA focused the remainder of her talk on the six public libraries, one +of which doubles as a state library. They represent a range of +geographic areas and a range of demographic characteristics. For +example, three are located in urban settings, two in rural settings, and +one in a suburban setting. A range of technical expertise is to be found +among these facilities as well. For example, one is an "Apple library of +the future," while two others are rural one-room libraries--in one, AM +sits at the front desk next to a tractor manual. + +All public libraries have been extremely enthusiastic, supportive, and +appreciative of the work that AM has been doing. VECCIA characterized +various users: Most users in public libraries describe themselves as +general readers; of the students who use AM in the public libraries, +those in fourth grade and above seem most interested. Public libraries +in rural sites tend to attract retired people, who have been highly +receptive to AM. Users tend to fall into two additional categories: +people interested in the content and historical connotations of these +primary resources, and those fascinated by the technology. The format +receiving the most comments has been motion pictures. The adult users in +public libraries are more comfortable with IBM computers, whereas young +people seem comfortable with either IBM or Macintosh, although most of +them seem to come from a Macintosh background. This same tendency is +found in the schools. + +What kinds of things do users do with AM? In a public library there are +two main goals or ways that AM is being used: as an individual learning +tool, and as a leisure activity. Adult learning was one area that VECCIA +would highlight as a possible application for a tool such as AM. She +described a patron of a rural public library who comes in every day on +his lunch hour and literally reads AM, methodically going through the +collection image by image. At the end of his hour he makes an electronic +bookmark, puts it in his pocket, and returns to work. The next day he +comes in and resumes where he left off. Interestingly, this man had +never been in the library before he used AM. In another small, rural +library, the coordinator reports that AM is a popular activity for some +of the older, retired people in the community, who ordinarily would not +use "those things,"--computers. Another example of adult learning in +public libraries is book groups, one of which, in particular, is using AM +as part of its reading on industrialization, integration, and urbanization +in the early 1900s. + +One library reports that a family is using AM to help educate their +children. In another instance, individuals from a local museum came in +to use AM to prepare an exhibit on toys of the past. These two examples +emphasize the mission of the public library as a cultural institution, +reaching out to people who do not have the same resources available to +those who live in a metropolitan area or have access to a major library. +One rural library reports that junior high school students in large +numbers came in one afternoon to use AM for entertainment. A number of +public libraries reported great interest among postcard collectors in the +Detroit collection, which was essentially a collection of images used on +postcards around the turn of the century. Train buffs are similarly +interested because that was a time of great interest in railroading. +People, it was found, relate to things that they know of firsthand. For +example, in both rural public libraries where AM was made available, +observers reported that the older people with personal remembrances of +the turn of the century were gravitating to the Detroit collection. +These examples served to underscore MICHELSON's observation re the +integration of electronic tools and ideas--that people learn best when +the material relates to something they know. + +VECCIA made the final point that in many cases AM serves as a +public-relations tool for the public libraries that are testing it. In +one case, AM is being used as a vehicle to secure additional funding for +the library. In another case, AM has served as an inspiration to the +staff of a major local public library in the South to think about ways to +make its own collection of photographs more accessible to the public. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +FREEMAN * AM and archival electronic resources in a school environment * +Questions concerning context * Questions concerning the electronic format +itself * Computer anxiety * Access and availability of the system * +Hardware * Strengths gained through the use of archival resources in +schools * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Reiterating an observation made by VECCIA, that AM is an archival +resource made up of primary materials with very little interpretation, +FREEMAN stated that the project has attempted to bridge the gap between +these bare primary materials and a school environment, and in that cause +has created guided introductions to AM collections. Loud demand from the +educational community, chiefly from teachers working with the upper +grades of elementary school through high school, greeted the announcement +that AM would be tested around the country. + +FREEMAN reported not only on what was learned about AM in a school +environment, but also on several universal questions that were raised +concerning archival electronic resources in schools. She discussed +several strengths of this type of material in a school environment as +opposed to a highly structured resource that offers a limited number of +paths to follow. + +FREEMAN first raised several questions about using AM in a school +environment. There is often some difficulty in developing a sense of +what the system contains. Many students sit down at a computer resource +and assume that, because AM comes from the Library of Congress, all of +American history is now at their fingertips. As a result of that sort of +mistaken judgment, some students are known to conclude that AM contains +nothing of use to them when they look for one or two things and do not +find them. It is difficult to discover that middle ground where one has +a sense of what the system contains. Some students grope toward the idea +of an archive, a new idea to them, since they have not previously +experienced what it means to have access to a vast body of somewhat +random information. + +Other questions raised by FREEMAN concerned the electronic format itself. +For instance, in a school environment it is often difficult both for +teachers and students to gain a sense of what it is they are viewing. +They understand that it is a visual image, but they do not necessarily +know that it is a postcard from the turn of the century, a panoramic +photograph, or even machine-readable text of an eighteenth-century +broadside, a twentieth-century printed book, or a nineteenth-century +diary. That distinction is often difficult for people in a school +environment to grasp. Because of that, it occasionally becomes difficult +to draw conclusions from what one is viewing. + +FREEMAN also noted the obvious fear of the computer, which constitutes a +difficulty in using an electronic resource. Though students in general +did not suffer from this anxiety, several older students feared that they +were computer-illiterate, an assumption that became self-fulfilling when +they searched for something but failed to find it. FREEMAN said she +believed that some teachers also fear computer resources, because they +believe they lack complete control. FREEMAN related the example of +teachers shooing away students because it was not their time to use the +system. This was a case in which the situation had to be extremely +structured so that the teachers would not feel that they had lost their +grasp on what the system contained. + +A final question raised by FREEMAN concerned access and availability of +the system. She noted the occasional existence of a gap in communication +between school librarians and teachers. Often AM sits in a school +library and the librarian is the person responsible for monitoring the +system. Teachers do not always take into their world new library +resources about which the librarian is excited. Indeed, at the sites +where AM had been used most effectively within a library, the librarian +was required to go to specific teachers and instruct them in its use. As +a result, several AM sites will have in-service sessions over a summer, +in the hope that perhaps, with a more individualized link, teachers will +be more likely to use the resource. + +A related issue in the school context concerned the number of +workstations available at any one location. Centralization of equipment +at the district level, with teachers invited to download things and walk +away with them, proved unsuccessful because the hours these offices were +open were also school hours. + +Another issue was hardware. As VECCIA observed, a range of sites exists, +some technologically advanced and others essentially acquiring their +first computer for the primary purpose of using it in conjunction with +AM's testing. Users at technologically sophisticated sites want even +more sophisticated hardware, so that they can perform even more +sophisticated tasks with the materials in AM. But once they acquire a +newer piece of hardware, they must learn how to use that also; at an +unsophisticated site it takes an extremely long time simply to become +accustomed to the computer, not to mention the program offered with the +computer. All of these small issues raise one large question, namely, +are systems like AM truly rewarding in a school environment, or do they +simply act as innovative toys that do little more than spark interest? + +FREEMAN contended that the evaluation project has revealed several strengths +that were gained through the use of archival resources in schools, including: + + * Psychic rewards from using AM as a vast, rich database, with + teachers assigning various projects to students--oral presentations, + written reports, a documentary, a turn-of-the-century newspaper-- + projects that start with the materials in AM but are completed using + other resources; AM thus is used as a research tool in conjunction + with other electronic resources, as well as with books and items in + the library where the system is set up. + + * Students are acquiring computer literacy in a humanities context. + + * This sort of system is overcoming the isolation between disciplines + that often exists in schools. For example, many English teachers are + requiring their students to write papers on historical topics + represented in AM. Numerous teachers have reported that their + students are learning critical thinking skills using the system. + + * On a broader level, AM is introducing primary materials, not only + to students but also to teachers, in an environment where often + simply none exist--an exciting thing for the students because it + helps them learn to conduct research, to interpret, and to draw + their own conclusions. In learning to conduct research and what it + means, students are motivated to seek knowledge. That relates to + another positive outcome--a high level of personal involvement of + students with the materials in this system and greater motivation to + conduct their own research and draw their own conclusions. + + * Perhaps the most ironic strength of these kinds of archival + electronic resources is that many of the teachers AM interviewed + were desperate, it is no exaggeration to say, not only for primary + materials but for unstructured primary materials. These would, they + thought, foster personally motivated research, exploration, and + excitement in their students. Indeed, these materials have done + just that. Ironically, however, this lack of structure produces + some of the confusion to which the newness of these kinds of + resources may also contribute. The key to effective use of archival + products in a school environment is a clear, effective introduction + to the system and to what it contains. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Nothing known, quantitatively, about the number of +humanities scholars who must see the original versus those who would +settle for an edited transcript, or about the ways in which humanities +scholars are using information technology * Firm conclusions concerning +the manner and extent of the use of supporting materials in print +provided by AM to await completion of evaluative study * A listener's +reflections on additional applications of electronic texts * Role of +electronic resources in teaching elementary research skills to students * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During the discussion that followed the presentations by MICHELSON, +VECCIA, and FREEMAN, additional points emerged. + +LESK asked if MICHELSON could give any quantitative estimate of the +number of humanities scholars who must see or want to see the original, +or the best possible version of the material, versus those who typically +would settle for an edited transcript. While unable to provide a figure, +she offered her impressions as an archivist who has done some reference +work and has discussed this issue with other archivists who perform +reference, that those who use archives and those who use primary sources +for what would be considered very high-level scholarly research, as +opposed to, say, undergraduate papers, were few in number, especially +given the public interest in using primary sources to conduct +genealogical or avocational research and the kind of professional +research done by people in private industry or the federal government. +More important in MICHELSON's view was that, quantitatively, nothing is +known about the ways in which, for example, humanities scholars are using +information technology. No studies exist to offer guidance in creating +strategies. The most recent study was conducted in 1985 by the American +Council of Learned Societies (ACLS), and what it showed was that 50 +percent of humanities scholars at that time were using computers. That +constitutes the extent of our knowledge. + +Concerning AM's strategy for orienting people toward the scope of +electronic resources, FREEMAN could offer no hard conclusions at this +point, because she and her colleagues were still waiting to see, +particularly in the schools, what has been made of their efforts. Within +the system, however, AM has provided what are called electronic exhibits- +-such as introductions to time periods and materials--and these are +intended to offer a student user a sense of what a broadside is and what +it might tell her or him. But FREEMAN conceded that the project staff +would have to talk with students next year, after teachers have had a +summer to use the materials, and attempt to discover what the students +were learning from the materials. In addition, FREEMAN described +supporting materials in print provided by AM at the request of local +teachers during a meeting held at LC. These included time lines, +bibliographies, and other materials that could be reproduced on a +photocopier in a classroom. Teachers could walk away with and use these, +and in this way gain a better understanding of the contents. But again, +reaching firm conclusions concerning the manner and extent of their use +would have to wait until next year. + +As to the changes she saw occurring at the National Archives and Records +Administration (NARA) as a result of the increasing emphasis on +technology in scholarly research, MICHELSON stated that NARA at this +point was absorbing the report by her and Jeff Rothenberg addressing +strategies for the archival profession in general, although not for the +National Archives specifically. NARA is just beginning to establish its +role and what it can do. In terms of changes and initiatives that NARA +can take, no clear response could be given at this time. + +GREENFIELD remarked two trends mentioned in the session. Reflecting on +DALY's opening comments on how he could have used a Latin collection of +text in an electronic form, he said that at first he thought most scholars +would be unwilling to do that. But as he thought of that in terms of the +original meaning of research--that is, having already mastered these texts, +researching them for critical and comparative purposes--for the first time, +the electronic format made a lot of sense. GREENFIELD could envision +growing numbers of scholars learning the new technologies for that very +aspect of their scholarship and for convenience's sake. + +Listening to VECCIA and FREEMAN, GREENFIELD thought of an additional +application of electronic texts. He realized that AM could be used as a +guide to lead someone to original sources. Students cannot be expected +to have mastered these sources, things they have never known about +before. Thus, AM is leading them, in theory, to a vast body of +information and giving them a superficial overview of it, enabling them +to select parts of it. GREENFIELD asked if any evidence exists that this +resource will indeed teach the new user, the K-12 students, how to do +research. Scholars already know how to do research and are applying +these new tools. But he wondered why students would go beyond picking +out things that were most exciting to them. + +FREEMAN conceded the correctness of GREENFIELD's observation as applied +to a school environment. The risk is that a student would sit down at a +system, play with it, find some things of interest, and then walk away. +But in the relatively controlled situation of a school library, much will +depend on the instructions a teacher or a librarian gives a student. She +viewed the situation not as one of fine-tuning research skills but of +involving students at a personal level in understanding and researching +things. Given the guidance one can receive at school, it then becomes +possible to teach elementary research skills to students, which in fact +one particular librarian said she was teaching her fifth graders. +FREEMAN concluded that introducing the idea of following one's own path +of inquiry, which is essentially what research entails, involves more +than teaching specific skills. To these comments VECCIA added the +observation that the individual teacher and the use of a creative +resource, rather than AM itself, seemed to make the key difference. +Some schools and some teachers are making excellent use of the nature +of critical thinking and teaching skills, she said. + +Concurring with these remarks, DALY closed the session with the thought that +the more that producers produced for teachers and for scholars to use with +their students, the more successful their electronic products would prove. + + ****** + +SESSION II. SHOW AND TELL + +Jacqueline HESS, director, National Demonstration Laboratory, served as +moderator of the "show-and-tell" session. She noted that a +question-and-answer period would follow each presentation. + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +MYLONAS * Overview and content of Perseus * Perseus' primary materials +exist in a system-independent, archival form * A concession * Textual +aspects of Perseus * Tools to use with the Greek text * Prepared indices +and full-text searches in Perseus * English-Greek word search leads to +close study of words and concepts * Navigating Perseus by tracing down +indices * Using the iconography to perform research * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Elli MYLONAS, managing editor, Perseus Project, Harvard University, first +gave an overview of Perseus, a large, collaborative effort based at +Harvard University but with contributors and collaborators located at +numerous universities and colleges in the United States (e.g., Bowdoin, +Maryland, Pomona, Chicago, Virginia). Funded primarily by the +Annenberg/CPB Project, with additional funding from Apple, Harvard, and +the Packard Humanities Institute, among others, Perseus is a multimedia, +hypertextual database for teaching and research on classical Greek +civilization, which was released in February 1992 in version 1.0 and +distributed by Yale University Press. + +Consisting entirely of primary materials, Perseus includes ancient Greek +texts and translations of those texts; catalog entries--that is, museum +catalog entries, not library catalog entries--on vases, sites, coins, +sculpture, and archaeological objects; maps; and a dictionary, among +other sources. The number of objects and the objects for which catalog +entries exist are accompanied by thousands of color images, which +constitute a major feature of the database. Perseus contains +approximately 30 megabytes of text, an amount that will double in +subsequent versions. In addition to these primary materials, the Perseus +Project has been building tools for using them, making access and +navigation easier, the goal being to build part of the electronic +environment discussed earlier in the morning in which students or +scholars can work with their sources. + +The demonstration of Perseus will show only a fraction of the real work +that has gone into it, because the project had to face the dilemma of +what to enter when putting something into machine-readable form: should +one aim for very high quality or make concessions in order to get the +material in? Since Perseus decided to opt for very high quality, all of +its primary materials exist in a system-independent--insofar as it is +possible to be system-independent--archival form. Deciding what that +archival form would be and attaining it required much work and thought. +For example, all the texts are marked up in SGML, which will be made +compatible with the guidelines of the Text Encoding Initiative (TEI) when +they are issued. + +Drawings are postscript files, not meeting international standards, but +at least designed to go across platforms. Images, or rather the real +archival forms, consist of the best available slides, which are being +digitized. Much of the catalog material exists in database form--a form +that the average user could use, manipulate, and display on a personal +computer, but only at great cost. Thus, this is where the concession +comes in: All of this rich, well-marked-up information is stripped of +much of its content; the images are converted into bit-maps and the text +into small formatted chunks. All this information can then be imported +into HyperCard and run on a mid-range Macintosh, which is what Perseus +users have. This fact has made it possible for Perseus to attain wide +use fairly rapidly. Without those archival forms the HyperCard version +being demonstrated could not be made easily, and the project could not +have the potential to move to other forms and machines and software as +they appear, none of which information is in Perseus on the CD. + +Of the numerous multimedia aspects of Perseus, MYLONAS focused on the +textual. Part of what makes Perseus such a pleasure to use, MYLONAS +said, is this effort at seamless integration and the ability to move +around both visual and textual material. Perseus also made the decision +not to attempt to interpret its material any more than one interprets by +selecting. But, MYLONAS emphasized, Perseus is not courseware: No +syllabus exists. There is no effort to define how one teaches a topic +using Perseus, although the project may eventually collect papers by +people who have used it to teach. Rather, Perseus aims to provide +primary material in a kind of electronic library, an electronic sandbox, +so to say, in which students and scholars who are working on this +material can explore by themselves. With that, MYLONAS demonstrated +Perseus, beginning with the Perseus gateway, the first thing one sees +upon opening Perseus--an effort in part to solve the contextualizing +problem--which tells the user what the system contains. + +MYLONAS demonstrated only a very small portion, beginning with primary +texts and running off the CD-ROM. Having selected Aeschylus' Prometheus +Bound, which was viewable in Greek and English pretty much in the same +segments together, MYLONAS demonstrated tools to use with the Greek text, +something not possible with a book: looking up the dictionary entry form +of an unfamiliar word in Greek after subjecting it to Perseus' +morphological analysis for all the texts. After finding out about a +word, a user may then decide to see if it is used anywhere else in Greek. +Because vast amounts of indexing support all of the primary material, one +can find out where else all forms of a particular Greek word appear-- +often not a trivial matter because Greek is highly inflected. Further, +since the story of Prometheus has to do with the origins of sacrifice, a +user may wish to study and explore sacrifice in Greek literature; by +typing sacrifice into a small window, a user goes to the English-Greek +word list--something one cannot do without the computer (Perseus has +indexed the definitions of its dictionary)--the string sacrifice appears +in the definitions of these sixty-five words. One may then find out +where any of those words is used in the work(s) of a particular author. +The English definitions are not lemmatized. + +All of the indices driving this kind of usage were originally devised for +speed, MYLONAS observed; in other words, all that kind of information-- +all forms of all words, where they exist, the dictionary form they belong +to--were collected into databases, which will expedite searching. Then +it was discovered that one can do things searching in these databases +that could not be done searching in the full texts. Thus, although there +are full-text searches in Perseus, much of the work is done behind the +scenes, using prepared indices. Re the indexing that is done behind the +scenes, MYLONAS pointed out that without the SGML forms of the text, it +could not be done effectively. Much of this indexing is based on the +structures that are made explicit by the SGML tagging. + +It was found that one of the things many of Perseus' non-Greek-reading +users do is start from the dictionary and then move into the close study +of words and concepts via this kind of English-Greek word search, by which +means they might select a concept. This exercise has been assigned to +students in core courses at Harvard--to study a concept by looking for the +English word in the dictionary, finding the Greek words, and then finding +the words in the Greek but, of course, reading across in the English. +That tells them a great deal about what a translation means as well. + +Should one also wish to see images that have to do with sacrifice, that +person would go to the object key word search, which allows one to +perform a similar kind of index retrieval on the database of +archaeological objects. Without words, pictures are useless; Perseus has +not reached the point where it can do much with images that are not +cataloged. Thus, although it is possible in Perseus with text and images +to navigate by knowing where one wants to end up--for example, a +red-figure vase from the Boston Museum of Fine Arts--one can perform this +kind of navigation very easily by tracing down indices. MYLONAS +illustrated several generic scenes of sacrifice on vases. The features +demonstrated derived from Perseus 1.0; version 2.0 will implement even +better means of retrieval. + +MYLONAS closed by looking at one of the pictures and noting again that +one can do a great deal of research using the iconography as well as the +texts. For instance, students in a core course at Harvard this year were +highly interested in Greek concepts of foreigners and representations of +non-Greeks. So they performed a great deal of research, both with texts +(e.g., Herodotus) and with iconography on vases and coins, on how the +Greeks portrayed non-Greeks. At the same time, art historians who study +iconography were also interested, and were able to use this material. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Indexing and searchability of all English words in Perseus * +Several features of Perseus 1.0 * Several levels of customization +possible * Perseus used for general education * Perseus' effects on +education * Contextual information in Perseus * Main challenge and +emphasis of Perseus * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Several points emerged in the discussion that followed MYLONAS's presentation. + +Although MYLONAS had not demonstrated Perseus' ability to cross-search +documents, she confirmed that all English words in Perseus are indexed +and can be searched. So, for example, sacrifice could have been searched +in all texts, the historical essay, and all the catalogue entries with +their descriptions--in short, in all of Perseus. + +Boolean logic is not in Perseus 1.0 but will be added to the next +version, although an effort is being made not to restrict Perseus to a +database in which one just performs searching, Boolean or otherwise. It +is possible to move laterally through the documents by selecting a word +one is interested in and selecting an area of information one is +interested in and trying to look that word up in that area. + +Since Perseus was developed in HyperCard, several levels of customization +are possible. Simple authoring tools exist that allow one to create +annotated paths through the information, which are useful for note-taking +and for guided tours for teaching purposes and for expository writing. +With a little more ingenuity it is possible to begin to add or substitute +material in Perseus. + +Perseus has not been used so much for classics education as for general +education, where it seemed to have an impact on the students in the core +course at Harvard (a general required course that students must take in +certain areas). Students were able to use primary material much more. + +The Perseus Project has an evaluation team at the University of Maryland +that has been documenting Perseus' effects on education. Perseus is very +popular, and anecdotal evidence indicates that it is having an effect at +places other than Harvard, for example, test sites at Ball State +University, Drury College, and numerous small places where opportunities +to use vast amounts of primary data may not exist. One documented effect +is that archaeological, anthropological, and philological research is +being done by the same person instead of by three different people. + +The contextual information in Perseus includes an overview essay, a +fairly linear historical essay on the fifth century B.C. that provides +links into the primary material (e.g., Herodotus, Thucydides, and +Plutarch), via small gray underscoring (on the screen) of linked +passages. These are handmade links into other material. + +To different extents, most of the production work was done at Harvard, +where the people and the equipment are located. Much of the +collaborative activity involved data collection and structuring, because +the main challenge and the emphasis of Perseus is the gathering of +primary material, that is, building a useful environment for studying +classical Greece, collecting data, and making it useful. +Systems-building is definitely not the main concern. Thus, much of the +work has involved writing essays, collecting information, rewriting it, +and tagging it. That can be done off site. The creative link for the +overview essay as well as for both systems and data was collaborative, +and was forged via E-mail and paper mail with professors at Pomona and +Bowdoin. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +CALALUCA * PLD's principal focus and contribution to scholarship * +Various questions preparatory to beginning the project * Basis for +project * Basic rule in converting PLD * Concerning the images in PLD * +Running PLD under a variety of retrieval softwares * Encoding the +database a hard-fought issue * Various features demonstrated * Importance +of user documentation * Limitations of the CD-ROM version * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Eric CALALUCA, vice president, Chadwyck-Healey, Inc., demonstrated a +software interpretation of the Patrologia Latina Database (PLD). PLD's +principal focus from the beginning of the project about three-and-a-half +years ago was on converting Migne's Latin series, and in the end, +CALALUCA suggested, conversion of the text will be the major contribution +to scholarship. CALALUCA stressed that, as possibly the only private +publishing organization at the Workshop, Chadwyck-Healey had sought no +federal funds or national foundation support before embarking upon the +project, but instead had relied upon a great deal of homework and +marketing to accomplish the task of conversion. + +Ever since the possibilities of computer-searching have emerged, scholars +in the field of late ancient and early medieval studies (philosophers, +theologians, classicists, and those studying the history of natural law +and the history of the legal development of Western civilization) have +been longing for a fully searchable version of Western literature, for +example, all the texts of Augustine and Bernard of Clairvaux and +Boethius, not to mention all the secondary and tertiary authors. + +Various questions arose, CALALUCA said. Should one convert Migne? +Should the database be encoded? Is it necessary to do that? How should +it be delivered? What about CD-ROM? Since this is a transitional +medium, why even bother to create software to run on a CD-ROM? Since +everybody knows people will be networking information, why go to the +trouble--which is far greater with CD-ROM than with the production of +magnetic data? Finally, how does one make the data available? Can many +of the hurdles to using electronic information that some publishers have +imposed upon databases be eliminated? + +The PLD project was based on the principle that computer-searching of +texts is most effective when it is done with a large database. Because +PLD represented a collection that serves so many disciplines across so +many periods, it was irresistible. + +The basic rule in converting PLD was to do no harm, to avoid the sins of +intrusion in such a database: no introduction of newer editions, no +on-the-spot changes, no eradicating of all possible falsehoods from an +edition. Thus, PLD is not the final act in electronic publishing for +this discipline, but simply the beginning. The conversion of PLD has +evoked numerous unanticipated questions: How will information be used? +What about networking? Can the rights of a database be protected? +Should one protect the rights of a database? How can it be made +available? + +Those converting PLD also tried to avoid the sins of omission, that is, +excluding portions of the collections or whole sections. What about the +images? PLD is full of images, some are extremely pious +nineteenth-century representations of the Fathers, while others contain +highly interesting elements. The goal was to cover all the text of Migne +(including notes, in Greek and in Hebrew, the latter of which, in +particular, causes problems in creating a search structure), all the +indices, and even the images, which are being scanned in separately +searchable files. + +Several North American institutions that have placed acquisition requests +for the PLD database have requested it in magnetic form without software, +which means they are already running it without software, without +anything demonstrated at the Workshop. + +What cannot practically be done is go back and reconvert and re-encode +data, a time-consuming and extremely costly enterprise. CALALUCA sees +PLD as a database that can, and should, be run under a variety of +retrieval softwares. This will permit the widest possible searches. +Consequently, the need to produce a CD-ROM of PLD, as well as to develop +software that could handle some 1.3 gigabyte of heavily encoded text, +developed out of conversations with collection development and reference +librarians who wanted software both compassionate enough for the +pedestrian but also capable of incorporating the most detailed +lexicographical studies that a user desires to conduct. In the end, the +encoding and conversion of the data will prove the most enduring +testament to the value of the project. + +The encoding of the database was also a hard-fought issue: Did the +database need to be encoded? Were there normative structures for encoding +humanist texts? Should it be SGML? What about the TEI--will it last, +will it prove useful? CALALUCA expressed some minor doubts as to whether +a data bank can be fully TEI-conformant. Every effort can be made, but +in the end to be TEI-conformant means to accept the need to make some +firm encoding decisions that can, indeed, be disputed. The TEI points +the publisher in a proper direction but does not presume to make all the +decisions for him or her. Essentially, the goal of encoding was to +eliminate, as much as possible, the hindrances to information-networking, +so that if an institution acquires a database, everybody associated with +the institution can have access to it. + +CALALUCA demonstrated a portion of Volume 160, because it had the most +anomalies in it. The software was created by Electronic Book +Technologies of Providence, RI, and is called Dynatext. The software +works only with SGML-coded data. + +Viewing a table of contents on the screen, the audience saw how Dynatext +treats each element as a book and attempts to simplify movement through a +volume. Familiarity with the Patrologia in print (i.e., the text, its +source, and the editions) will make the machine-readable versions highly +useful. (Software with a Windows application was sought for PLD, +CALALUCA said, because this was the main trend for scholarly use.) + +CALALUCA also demonstrated how a user can perform a variety of searches +and quickly move to any part of a volume; the look-up screen provides +some basic, simple word-searching. + +CALALUCA argued that one of the major difficulties is not the software. +Rather, in creating a product that will be used by scholars representing +a broad spectrum of computer sophistication, user documentation proves +to be the most important service one can provide. + +CALALUCA next illustrated a truncated search under mysterium within ten +words of virtus and how one would be able to find its contents throughout +the entire database. He said that the exciting thing about PLD is that +many of the applications in the retrieval software being written for it +will exceed the capabilities of the software employed now for the CD-ROM +version. The CD-ROM faces genuine limitations, in terms of speed and +comprehensiveness, in the creation of a retrieval software to run it. +CALALUCA said he hoped that individual scholars will download the data, +if they wish, to their personal computers, and have ready access to +important texts on a constant basis, which they will be able to use in +their research and from which they might even be able to publish. + +(CALALUCA explained that the blue numbers represented Migne's column numbers, +which are the standard scholarly references. Pulling up a note, he stated +that these texts were heavily edited and the image files would appear simply +as a note as well, so that one could quickly access an image.) + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +FLEISCHHAUER/ERWAY * Several problems with which AM is still wrestling * +Various search and retrieval capabilities * Illustration of automatic +stemming and a truncated search * AM's attempt to find ways to connect +cataloging to the texts * AM's gravitation towards SGML * Striking a +balance between quantity and quality * How AM furnishes users recourse to +images * Conducting a search in a full-text environment * Macintosh and +IBM prototypes of AM * Multimedia aspects of AM * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +A demonstration of American Memory by its coordinator, Carl FLEISCHHAUER, +and Ricky ERWAY, associate coordinator, Library of Congress, concluded +the morning session. Beginning with a collection of broadsides from the +Continental Congress and the Constitutional Convention, the only text +collection in a presentable form at the time of the Workshop, FLEISCHHAUER +highlighted several of the problems with which AM is still wrestling. +(In its final form, the disk will contain two collections, not only the +broadsides but also the full text with illustrations of a set of +approximately 300 African-American pamphlets from the period 1870 to 1910.) + +As FREEMAN had explained earlier, AM has attempted to use a small amount +of interpretation to introduce collections. In the present case, the +contractor, a company named Quick Source, in Silver Spring, MD., used +software called Toolbook and put together a modestly interactive +introduction to the collection. Like the two preceding speakers, +FLEISCHHAUER argued that the real asset was the underlying collection. + +FLEISCHHAUER proceeded to describe various search and retrieval +capabilities while ERWAY worked the computer. In this particular package +the "go to" pull-down allowed the user in effect to jump out of Toolbook, +where the interactive program was located, and enter the third-party +software used by AM for this text collection, which is called Personal +Librarian. This was the Windows version of Personal Librarian, a +software application put together by a company in Rockville, Md. + +Since the broadsides came from the Revolutionary War period, a search was +conducted using the words British or war, with the default operator reset +as or. FLEISCHHAUER demonstrated both automatic stemming (which finds +other forms of the same root) and a truncated search. One of Personal +Librarian's strongest features, the relevance ranking, was represented by +a chart that indicated how often words being sought appeared in +documents, with the one receiving the most "hits" obtaining the highest +score. The "hit list" that is supplied takes the relevance ranking into +account, making the first hit, in effect, the one the software has +selected as the most relevant example. + +While in the text of one of the broadside documents, FLEISCHHAUER +remarked AM's attempt to find ways to connect cataloging to the texts, +which it does in different ways in different manifestations. In the case +shown, the cataloging was pasted on: AM took MARC records that were +written as on-line records right into one of the Library's mainframe +retrieval programs, pulled them out, and handed them off to the contractor, +who massaged them somewhat to display them in the manner shown. One of +AM's questions is, Does the cataloguing normally performed in the mainframe +work in this context, or had AM ought to think through adjustments? + +FLEISCHHAUER made the additional point that, as far as the text goes, AM +has gravitated towards SGML (he pointed to the boldface in the upper part +of the screen). Although extremely limited in its ability to translate +or interpret SGML, Personal Librarian will furnish both bold and italics +on screen; a fairly easy thing to do, but it is one of the ways in which +SGML is useful. + +Striking a balance between quantity and quality has been a major concern +of AM, with accuracy being one of the places where project staff have +felt that less than 100-percent accuracy was not unacceptable. +FLEISCHHAUER cited the example of the standard of the rekeying industry, +namely 99.95 percent; as one service bureau informed him, to go from +99.95 to 100 percent would double the cost. + +FLEISCHHAUER next demonstrated how AM furnishes users recourse to images, +and at the same time recalled LESK's pointed question concerning the +number of people who would look at those images and the number who would +work only with the text. If the implication of LESK's question was +sound, FLEISCHHAUER said, it raised the stakes for text accuracy and +reduced the value of the strategy for images. + +Contending that preservation is always a bugaboo, FLEISCHHAUER +demonstrated several images derived from a scan of a preservation +microfilm that AM had made. He awarded a grade of C at best, perhaps a +C minus or a C plus, for how well it worked out. Indeed, the matter of +learning if other people had better ideas about scanning in general, and, +in particular, scanning from microfilm, was one of the factors that drove +AM to attempt to think through the agenda for the Workshop. Skew, for +example, was one of the issues that AM in its ignorance had not reckoned +would prove so difficult. + +Further, the handling of images of the sort shown, in a desktop computer +environment, involved a considerable amount of zooming and scrolling. +Ultimately, AM staff feel that perhaps the paper copy that is printed out +might be the most useful one, but they remain uncertain as to how much +on-screen reading users will do. + +Returning to the text, FLEISCHHAUER asked viewers to imagine a person who +might be conducting a search in a full-text environment. With this +scenario, he proceeded to illustrate other features of Personal Librarian +that he considered helpful; for example, it provides the ability to +notice words as one reads. Clicking the "include" button on the bottom +of the search window pops the words that have been highlighted into the +search. Thus, a user can refine the search as he or she reads, +re-executing the search and continuing to find things in the quest for +materials. This software not only contains relevance ranking, Boolean +operators, and truncation, it also permits one to perform word algebra, +so to say, where one puts two or three words in parentheses and links +them with one Boolean operator and then a couple of words in another set +of parentheses and asks for things within so many words of others. + +Until they became acquainted recently with some of the work being done in +classics, the AM staff had not realized that a large number of the +projects that involve electronic texts were being done by people with a +profound interest in language and linguistics. Their search strategies +and thinking are oriented to those fields, as is shown in particular by +the Perseus example. As amateur historians, the AM staff were thinking +more of searching for concepts and ideas than for particular words. +Obviously, FLEISCHHAUER conceded, searching for concepts and ideas and +searching for words may be two rather closely related things. + +While displaying several images, FLEISCHHAUER observed that the Macintosh +prototype built by AM contains a greater diversity of formats. Echoing a +previous speaker, he said that it was easier to stitch things together in +the Macintosh, though it tended to be a little more anemic in search and +retrieval. AM, therefore, increasingly has been investigating +sophisticated retrieval engines in the IBM format. + +FLEISCHHAUER demonstrated several additional examples of the prototype +interfaces: One was AM's metaphor for the network future, in which a +kind of reading-room graphic suggests how one would be able to go around +to different materials. AM contains a large number of photographs in +analog video form worked up from a videodisc, which enable users to make +copies to print or incorporate in digital documents. A frame-grabber is +built into the system, making it possible to bring an image into a window +and digitize or print it out. + +FLEISCHHAUER next demonstrated sound recording, which included texts. +Recycled from a previous project, the collection included sixty 78-rpm +phonograph records of political speeches that were made during and +immediately after World War I. These constituted approximately three +hours of audio, as AM has digitized it, which occupy 150 megabytes on a +CD. Thus, they are considerably compressed. From the catalogue card, +FLEISCHHAUER proceeded to a transcript of a speech with the audio +available and with highlighted text following it as it played. +A photograph has been added and a transcription made. + +Considerable value has been added beyond what the Library of Congress +normally would do in cataloguing a sound recording, which raises several +questions for AM concerning where to draw lines about how much value it can +afford to add and at what point, perhaps, this becomes more than AM could +reasonably do or reasonably wish to do. FLEISCHHAUER also demonstrated +a motion picture. As FREEMAN had reported earlier, the motion picture +materials have proved the most popular, not surprisingly. This says more +about the medium, he thought, than about AM's presentation of it. + +Because AM's goal was to bring together things that could be used by +historians or by people who were curious about history, +turn-of-the-century footage seemed to represent the most appropriate +collections from the Library of Congress in motion pictures. These were +the very first films made by Thomas Edison's company and some others at +that time. The particular example illustrated was a Biograph film, +brought in with a frame-grabber into a window. A single videodisc +contains about fifty titles and pieces of film from that period, all of +New York City. Taken together, AM believes, they provide an interesting +documentary resource. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Using the frame-grabber in AM * Volume of material processed +and to be processed * Purpose of AM within LC * Cataloguing and the +nature of AM's material * SGML coding and the question of quality versus +quantity * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During the question-and-answer period that followed FLEISCHHAUER's +presentation, several clarifications were made. + +AM is bringing in motion pictures from a videodisc. The frame-grabber +devices create a window on a computer screen, which permits users to +digitize a single frame of the movie or one of the photographs. It +produces a crude, rough-and-ready image that high school students can +incorporate into papers, and that has worked very nicely in this way. + +Commenting on FLEISCHHAUER's assertion that AM was looking more at +searching ideas than words, MYLONAS argued that without words an idea +does not exist. FLEISCHHAUER conceded that he ought to have articulated +his point more clearly. MYLONAS stated that they were in fact both +talking about the same thing. By searching for words and by forcing +people to focus on the word, the Perseus Project felt that they would get +them to the idea. The way one reviews results is tailored more to one +kind of user than another. + +Concerning the total volume of material that has been processed in this +way, AM at this point has in retrievable form seven or eight collections, +all of them photographic. In the Macintosh environment, for example, +there probably are 35,000-40,000 photographs. The sound recordings +number sixty items. The broadsides number about 300 items. There are +500 political cartoons in the form of drawings. The motion pictures, as +individual items, number sixty to seventy. + +AM also has a manuscript collection, the life history portion of one of +the federal project series, which will contain 2,900 individual +documents, all first-person narratives. AM has in process about 350 +African-American pamphlets, or about 12,000 printed pages for the period +1870-1910. Also in the works are some 4,000 panoramic photographs. AM +has recycled a fair amount of the work done by LC's Prints and +Photographs Division during the Library's optical disk pilot project in +the 1980s. For example, a special division of LC has tooled up and +thought through all the ramifications of electronic presentation of +photographs. Indeed, they are wheeling them out in great barrel loads. +The purpose of AM within the Library, it is hoped, is to catalyze several +of the other special collection divisions which have no particular +experience with, in some cases, mixed feelings about, an activity such as +AM. Moreover, in many cases the divisions may be characterized as not +only lacking experience in "electronifying" things but also in automated +cataloguing. MARC cataloguing as practiced in the United States is +heavily weighted toward the description of monograph and serial +materials, but is much thinner when one enters the world of manuscripts +and things that are held in the Library's music collection and other +units. In response to a comment by LESK, that AM's material is very +heavily photographic, and is so primarily because individual records have +been made for each photograph, FLEISCHHAUER observed that an item-level +catalog record exists, for example, for each photograph in the Detroit +Publishing collection of 25,000 pictures. In the case of the Federal +Writers Project, for which nearly 3,000 documents exist, representing +information from twenty-six different states, AM with the assistance of +Karen STUART of the Manuscript Division will attempt to find some way not +only to have a collection-level record but perhaps a MARC record for each +state, which will then serve as an umbrella for the 100-200 documents +that come under it. But that drama remains to be enacted. The AM staff +is conservative and clings to cataloguing, though of course visitors tout +artificial intelligence and neural networks in a manner that suggests that +perhaps one need not have cataloguing or that much of it could be put aside. + +The matter of SGML coding, FLEISCHHAUER conceded, returned the discussion +to the earlier treated question of quality versus quantity in the Library +of Congress. Of course, text conversion can be done with 100-percent +accuracy, but it means that when one's holdings are as vast as LC's only +a tiny amount will be exposed, whereas permitting lower levels of +accuracy can lead to exposing or sharing larger amounts, but with the +quality correspondingly impaired. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +TWOHIG * A contrary experience concerning electronic options * Volume of +material in the Washington papers and a suggestion of David Packard * +Implications of Packard's suggestion * Transcribing the documents for the +CD-ROM * Accuracy of transcriptions * The CD-ROM edition of the Founding +Fathers documents * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Finding encouragement in a comment of MICHELSON's from the morning +session--that numerous people in the humanities were choosing electronic +options to do their work--Dorothy TWOHIG, editor, The Papers of George +Washington, opened her illustrated talk by noting that her experience +with literary scholars and numerous people in editing was contrary to +MICHELSON's. TWOHIG emphasized literary scholars' complete ignorance of +the technological options available to them or their reluctance or, in +some cases, their downright hostility toward these options. + +After providing an overview of the five Founding Fathers projects +(Jefferson at Princeton, Franklin at Yale, John Adams at the +Massachusetts Historical Society, and Madison down the hall from her at +the University of Virginia), TWOHIG observed that the Washington papers, +like all of the projects, include both sides of the Washington +correspondence and deal with some 135,000 documents to be published with +extensive annotation in eighty to eighty-five volumes, a project that +will not be completed until well into the next century. Thus, it was +with considerable enthusiasm several years ago that the Washington Papers +Project (WPP) greeted David Packard's suggestion that the papers of the +Founding Fathers could be published easily and inexpensively, and to the +great benefit of American scholarship, via CD-ROM. + +In pragmatic terms, funding from the Packard Foundation would expedite +the transcription of thousands of documents waiting to be put on disk in +the WPP offices. Further, since the costs of collecting, editing, and +converting the Founding Fathers documents into letterpress editions were +running into the millions of dollars, and the considerable staffs +involved in all of these projects were devoting their careers to +producing the work, the Packard Foundation's suggestion had a +revolutionary aspect: Transcriptions of the entire corpus of the +Founding Fathers papers would be available on CD-ROM to public and +college libraries, even high schools, at a fraction of the cost-- +$100-$150 for the annual license fee--to produce a limited university +press run of 1,000 of each volume of the published papers at $45-$150 per +printed volume. Given the current budget crunch in educational systems +and the corresponding constraints on librarians in smaller institutions +who wish to add these volumes to their collections, producing the +documents on CD-ROM would likely open a greatly expanded audience for the +papers. TWOHIG stressed, however, that development of the Founding +Fathers CD-ROM is still in its infancy. Serious software problems remain +to be resolved before the material can be put into readable form. + +Funding from the Packard Foundation resulted in a major push to +transcribe the 75,000 or so documents of the Washington papers remaining +to be transcribed onto computer disks. Slides illustrated several of the +problems encountered, for example, the present inability of CD-ROM to +indicate the cross-outs (deleted material) in eighteenth century +documents. TWOHIG next described documents from various periods in the +eighteenth century that have been transcribed in chronological order and +delivered to the Packard offices in California, where they are converted +to the CD-ROM, a process that is expected to consume five years to +complete (that is, reckoning from David Packard's suggestion made several +years ago, until about July 1994). TWOHIG found an encouraging +indication of the project's benefits in the ongoing use made by scholars +of the search functions of the CD-ROM, particularly in reducing the time +spent in manually turning the pages of the Washington papers. + +TWOHIG next furnished details concerning the accuracy of transcriptions. +For instance, the insertion of thousands of documents on the CD-ROM +currently does not permit each document to be verified against the +original manuscript several times as in the case of documents that appear +in the published edition. However, the transcriptions receive a cursory +check for obvious typos, the misspellings of proper names, and other +errors from the WPP CD-ROM editor. Eventually, all documents that appear +in the electronic version will be checked by project editors. Although +this process has met with opposition from some of the editors on the +grounds that imperfect work may leave their offices, the advantages in +making this material available as a research tool outweigh fears about the +misspelling of proper names and other relatively minor editorial matters. + +Completion of all five Founding Fathers projects (i.e., retrievability +and searchability of all of the documents by proper names, alternate +spellings, or varieties of subjects) will provide one of the richest +sources of this size for the history of the United States in the latter +part of the eighteenth century. Further, publication on CD-ROM will +allow editors to include even minutiae, such as laundry lists, not +included in the printed volumes. + +It seems possible that the extensive annotation provided in the printed +volumes eventually will be added to the CD-ROM edition, pending +negotiations with the publishers of the papers. At the moment, the +Founding Fathers CD-ROM is accessible only on the IBYCUS, a computer +developed out of the Thesaurus Linguae Graecae project and designed for +the use of classical scholars. There are perhaps 400 IBYCUS computers in +the country, most of which are in university classics departments. +Ultimately, it is anticipated that the CD-ROM edition of the Founding +Fathers documents will run on any IBM-compatible or Macintosh computer +with a CD-ROM drive. Numerous changes in the software will also occur +before the project is completed. (Editor's note: an IBYCUS was +unavailable to demonstrate the CD-ROM.) + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Several additional features of WPP clarified * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Discussion following TWOHIG's presentation served to clarify several +additional features, including (1) that the project's primary +intellectual product consists in the electronic transcription of the +material; (2) that the text transmitted to the CD-ROM people is not +marked up; (3) that cataloging and subject-indexing of the material +remain to be worked out (though at this point material can be retrieved +by name); and (4) that because all the searching is done in the hardware, +the IBYCUS is designed to read a CD-ROM which contains only sequential +text files. Technically, it then becomes very easy to read the material +off and put it on another device. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +LEBRON * Overview of the history of the joint project between AAAS and +OCLC * Several practices the on-line environment shares with traditional +publishing on hard copy * Several technical and behavioral barriers to +electronic publishing * How AAAS and OCLC arrived at the subject of +clinical trials * Advantages of the electronic format and other features +of OJCCT * An illustrated tour of the journal * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Maria LEBRON, managing editor, The Online Journal of Current Clinical +Trials (OJCCT), presented an illustrated overview of the history of the +joint project between the American Association for the Advancement of +Science (AAAS) and the Online Computer Library Center, Inc. (OCLC). The +joint venture between AAAS and OCLC owes its beginning to a +reorganization launched by the new chief executive officer at OCLC about +three years ago and combines the strengths of these two disparate +organizations. In short, OJCCT represents the process of scholarly +publishing on line. + +LEBRON next discussed several practices the on-line environment shares +with traditional publishing on hard copy--for example, peer review of +manuscripts--that are highly important in the academic world. LEBRON +noted in particular the implications of citation counts for tenure +committees and grants committees. In the traditional hard-copy +environment, citation counts are readily demonstrable, whereas the +on-line environment represents an ethereal medium to most academics. + +LEBRON remarked several technical and behavioral barriers to electronic +publishing, for instance, the problems in transmission created by special +characters or by complex graphics and halftones. In addition, she noted +economic limitations such as the storage costs of maintaining back issues +and market or audience education. + +Manuscripts cannot be uploaded to OJCCT, LEBRON explained, because it is +not a bulletin board or E-mail, forms of electronic transmission of +information that have created an ambience clouding people's understanding +of what the journal is attempting to do. OJCCT, which publishes +peer-reviewed medical articles dealing with the subject of clinical +trials, includes text, tabular material, and graphics, although at this +time it can transmit only line illustrations. + +Next, LEBRON described how AAAS and OCLC arrived at the subject of +clinical trials: It is 1) a highly statistical discipline that 2) does +not require halftones but can satisfy the needs of its audience with line +illustrations and graphic material, and 3) there is a need for the speedy +dissemination of high-quality research results. Clinical trials are +research activities that involve the administration of a test treatment +to some experimental unit in order to test its usefulness before it is +made available to the general population. LEBRON proceeded to give +additional information on OJCCT concerning its editor-in-chief, editorial +board, editorial content, and the types of articles it publishes +(including peer-reviewed research reports and reviews), as well as +features shared by other traditional hard-copy journals. + +Among the advantages of the electronic format are faster dissemination of +information, including raw data, and the absence of space constraints +because pages do not exist. (This latter fact creates an interesting +situation when it comes to citations.) Nor are there any issues. AAAS's +capacity to download materials directly from the journal to a +subscriber's printer, hard drive, or floppy disk helps ensure highly +accurate transcription. Other features of OJCCT include on-screen alerts +that allow linkage of subsequently published documents to the original +documents; on-line searching by subject, author, title, etc.; indexing of +every single word that appears in an article; viewing access to an +article by component (abstract, full text, or graphs); numbered +paragraphs to replace page counts; publication in Science every thirty +days of indexing of all articles published in the journal; +typeset-quality screens; and Hypertext links that enable subscribers to +bring up Medline abstracts directly without leaving the journal. + +After detailing the two primary ways to gain access to the journal, +through the OCLC network and Compuserv if one desires graphics or through +the Internet if just an ASCII file is desired, LEBRON illustrated the +speedy editorial process and the coding of the document using SGML tags +after it has been accepted for publication. She also gave an illustrated +tour of the journal, its search-and-retrieval capabilities in particular, +but also including problems associated with scanning in illustrations, +and the importance of on-screen alerts to the medical profession re +retractions or corrections, or more frequently, editorials, letters to +the editors, or follow-up reports. She closed by inviting the audience +to join AAAS on 1 July, when OJCCT was scheduled to go on-line. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Additional features of OJCCT * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +In the lengthy discussion that followed LEBRON's presentation, these +points emerged: + + * The SGML text can be tailored as users wish. + + * All these articles have a fairly simple document definition. + + * Document-type definitions (DTDs) were developed and given to OJCCT + for coding. + + * No articles will be removed from the journal. (Because there are + no back issues, there are no lost issues either. Once a subscriber + logs onto the journal he or she has access not only to the currently + published materials, but retrospectively to everything that has been + published in it. Thus the table of contents grows bigger. The date + of publication serves to distinguish between currently published + materials and older materials.) + + * The pricing system for the journal resembles that for most medical + journals: for 1992, $95 for a year, plus telecommunications charges + (there are no connect time charges); for 1993, $110 for the + entire year for single users, though the journal can be put on a + local area network (LAN). However, only one person can access the + journal at a time. Site licenses may come in the future. + + * AAAS is working closely with colleagues at OCLC to display + mathematical equations on screen. + + * Without compromising any steps in the editorial process, the + technology has reduced the time lag between when a manuscript is + originally submitted and the time it is accepted; the review process + does not differ greatly from the standard six-to-eight weeks + employed by many of the hard-copy journals. The process still + depends on people. + + * As far as a preservation copy is concerned, articles will be + maintained on the computer permanently and subscribers, as part of + their subscription, will receive a microfiche-quality archival copy + of everything published during that year; in addition, reprints can + be purchased in much the same way as in a hard-copy environment. + Hard copies are prepared but are not the primary medium for the + dissemination of the information. + + * Because OJCCT is not yet on line, it is difficult to know how many + people would simply browse through the journal on the screen as + opposed to downloading the whole thing and printing it out; a mix of + both types of users likely will result. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +PERSONIUS * Developments in technology over the past decade * The CLASS +Project * Advantages for technology and for the CLASS Project * +Developing a network application an underlying assumption of the project +* Details of the scanning process * Print-on-demand copies of books * +Future plans include development of a browsing tool * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Lynne PERSONIUS, assistant director, Cornell Information Technologies for +Scholarly Information Services, Cornell University, first commented on +the tremendous impact that developments in technology over the past ten +years--networking, in particular--have had on the way information is +handled, and how, in her own case, these developments have counterbalanced +Cornell's relative geographical isolation. Other significant technologies +include scanners, which are much more sophisticated than they were ten years +ago; mass storage and the dramatic savings that result from it in terms of +both space and money relative to twenty or thirty years ago; new and +improved printing technologies, which have greatly affected the distribution +of information; and, of course, digital technologies, whose applicability to +library preservation remains at issue. + +Given that context, PERSONIUS described the College Library Access and +Storage System (CLASS) Project, a library preservation project, +primarily, and what has been accomplished. Directly funded by the +Commission on Preservation and Access and by the Xerox Corporation, which +has provided a significant amount of hardware, the CLASS Project has been +working with a development team at Xerox to develop a software +application tailored to library preservation requirements. Within +Cornell, participants in the project have been working jointly with both +library and information technologies. The focus of the project has been +on reformatting and saving books that are in brittle condition. +PERSONIUS showed Workshop participants a brittle book, and described how +such books were the result of developments in papermaking around the +beginning of the Industrial Revolution. The papermaking process was +changed so that a significant amount of acid was introduced into the +actual paper itself, which deteriorates as it sits on library shelves. + +One of the advantages for technology and for the CLASS Project is that +the information in brittle books is mostly out of copyright and thus +offers an opportunity to work with material that requires library +preservation, and to create and work on an infrastructure to save the +material. Acknowledging the familiarity of those working in preservation +with this information, PERSONIUS noted that several things are being +done: the primary preservation technology used today is photocopying of +brittle material. Saving the intellectual content of the material is the +main goal. With microfilm copy, the intellectual content is preserved on +the assumption that in the future the image can be reformatted in any +other way that then exists. + +An underlying assumption of the CLASS Project from the beginning was +that it would develop a network application. Project staff scan books +at a workstation located in the library, near the brittle material. +An image-server filing system is located at a distance from that +workstation, and a printer is located in another building. All of the +materials digitized and stored on the image-filing system are cataloged +in the on-line catalogue. In fact, a record for each of these electronic +books is stored in the RLIN database so that a record exists of what is +in the digital library throughout standard catalogue procedures. In the +future, researchers working from their own workstations in their offices, +or their networks, will have access--wherever they might be--through a +request server being built into the new digital library. A second +assumption is that the preferred means of finding the material will be by +looking through a catalogue. PERSONIUS described the scanning process, +which uses a prototype scanner being developed by Xerox and which scans a +very high resolution image at great speed. Another significant feature, +because this is a preservation application, is the placing of the pages +that fall apart one for one on the platen. Ordinarily, a scanner could +be used with some sort of a document feeder, but because of this +application that is not feasible. Further, because CLASS is a +preservation application, after the paper replacement is made there, a +very careful quality control check is performed. An original book is +compared to the printed copy and verification is made, before proceeding, +that all of the image, all of the information, has been captured. Then, +a new library book is produced: The printed images are rebound by a +commercial binder and a new book is returned to the shelf. +Significantly, the books returned to the library shelves are beautiful +and useful replacements on acid-free paper that should last a long time, +in effect, the equivalent of preservation photocopies. Thus, the project +has a library of digital books. In essence, CLASS is scanning and +storing books as 600 dot-per-inch bit-mapped images, compressed using +Group 4 CCITT (i.e., the French acronym for International Consultative +Committee for Telegraph and Telephone) compression. They are stored as +TIFF files on an optical filing system that is composed of a database +used for searching and locating the books and an optical jukebox that +stores 64 twelve-inch platters. A very-high-resolution printed copy of +these books at 600 dots per inch is created, using a Xerox DocuTech +printer to make the paper replacements on acid-free paper. + +PERSONIUS maintained that the CLASS Project presents an opportunity to +introduce people to books as digital images by using a paper medium. +Books are returned to the shelves while people are also given the ability +to print on demand--to make their own copies of books. (PERSONIUS +distributed copies of an engineering journal published by engineering +students at Cornell around 1900 as an example of what a print-on-demand +copy of material might be like. This very cheap copy would be available +to people to use for their own research purposes and would bridge the gap +between an electronic work and the paper that readers like to have.) +PERSONIUS then attempted to illustrate a very early prototype of +networked access to this digital library. Xerox Corporation has +developed a prototype of a view station that can send images across the +network to be viewed. + +The particular library brought down for demonstration contained two +mathematics books. CLASS is developing and will spend the next year +developing an application that allows people at workstations to browse +the books. Thus, CLASS is developing a browsing tool, on the assumption +that users do not want to read an entire book from a workstation, but +would prefer to be able to look through and decide if they would like to +have a printed copy of it. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Re retrieval software * "Digital file copyright" * Scanning +rate during production * Autosegmentation * Criteria employed in +selecting books for scanning * Compression and decompression of images * +OCR not precluded * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During the question-and-answer period that followed her presentation, +PERSONIUS made these additional points: + + * Re retrieval software, Cornell is developing a Unix-based server + as well as clients for the server that support multiple platforms + (Macintosh, IBM and Sun workstations), in the hope that people from + any of those platforms will retrieve books; a further operating + assumption is that standard interfaces will be used as much as + possible, where standards can be put in place, because CLASS + considers this retrieval software a library application and would + like to be able to look at material not only at Cornell but at other + institutions. + + * The phrase "digital file copyright by Cornell University" was + added at the advice of Cornell's legal staff with the caveat that it + probably would not hold up in court. Cornell does not want people + to copy its books and sell them but would like to keep them + available for use in a library environment for library purposes. + + * In production the scanner can scan about 300 pages per hour, + capturing 600 dots per inch. + + * The Xerox software has filters to scan halftone material and avoid + the moire patterns that occur when halftone material is scanned. + Xerox has been working on hardware and software that would enable + the scanner itself to recognize this situation and deal with it + appropriately--a kind of autosegmentation that would enable the + scanner to handle halftone material as well as text on a single page. + + * The books subjected to the elaborate process described above were + selected because CLASS is a preservation project, with the first 500 + books selected coming from Cornell's mathematics collection, because + they were still being heavily used and because, although they were + in need of preservation, the mathematics library and the mathematics + faculty were uncomfortable having them microfilmed. (They wanted a + printed copy.) Thus, these books became a logical choice for this + project. Other books were chosen by the project's selection committees + for experiments with the technology, as well as to meet a demand or need. + + * Images will be decompressed before they are sent over the line; at + this time they are compressed and sent to the image filing system + and then sent to the printer as compressed images; they are returned + to the workstation as compressed 600-dpi images and the workstation + decompresses and scales them for display--an inefficient way to + access the material though it works quite well for printing and + other purposes. + + * CLASS is also decompressing on Macintosh and IBM, a slow process + right now. Eventually, compression and decompression will take + place on an image conversion server. Trade-offs will be made, based + on future performance testing, concerning where the file is + compressed and what resolution image is sent. + + * OCR has not been precluded; images are being stored that have been + scanned at a high resolution, which presumably would suit them well + to an OCR process. Because the material being scanned is about 100 + years old and was printed with less-than-ideal technologies, very + early and preliminary tests have not produced good results. But the + project is capturing an image that is of sufficient resolution to be + subjected to OCR in the future. Moreover, the system architecture + and the system plan have a logical place to store an OCR image if it + has been captured. But that is not being done now. + + ****** + +SESSION III. DISTRIBUTION, NETWORKS, AND NETWORKING: OPTIONS FOR +DISSEMINATION + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +ZICH * Issues pertaining to CD-ROMs * Options for publishing in CD-ROM * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Robert ZICH, special assistant to the associate librarian for special +projects, Library of Congress, and moderator of this session, first noted +the blessed but somewhat awkward circumstance of having four very +distinguished people representing networks and networking or at least +leaning in that direction, while lacking anyone to speak from the +strongest possible background in CD-ROMs. ZICH expressed the hope that +members of the audience would join the discussion. He stressed the +subtitle of this particular session, "Options for Dissemination," and, +concerning CD-ROMs, the importance of determining when it would be wise +to consider dissemination in CD-ROM versus networks. A shopping list of +issues pertaining to CD-ROMs included: the grounds for selecting +commercial publishers, and in-house publication where possible versus +nonprofit or government publication. A similar list for networks +included: determining when one should consider dissemination through a +network, identifying the mechanisms or entities that exist to place items +on networks, identifying the pool of existing networks, determining how a +producer would choose between networks, and identifying the elements of +a business arrangement in a network. + +Options for publishing in CD-ROM: an outside publisher versus +self-publication. If an outside publisher is used, it can be nonprofit, +such as the Government Printing Office (GPO) or the National Technical +Information Service (NTIS), in the case of government. The pros and cons +associated with employing an outside publisher are obvious. Among the +pros, there is no trouble getting accepted. One pays the bill and, in +effect, goes one's way. Among the cons, when one pays an outside +publisher to perform the work, that publisher will perform the work it is +obliged to do, but perhaps without the production expertise and skill in +marketing and dissemination that some would seek. There is the body of +commercial publishers that do possess that kind of expertise in +distribution and marketing but that obviously are selective. In +self-publication, one exercises full control, but then one must handle +matters such as distribution and marketing. Such are some of the options +for publishing in the case of CD-ROM. + +In the case of technical and design issues, which are also important, +there are many matters which many at the Workshop already knew a good +deal about: retrieval system requirements and costs, what to do about +images, the various capabilities and platforms, the trade-offs between +cost and performance, concerns about local-area networkability, +interoperability, etc. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +LYNCH * Creating networked information is different from using networks +as an access or dissemination vehicle * Networked multimedia on a large +scale does not yet work * Typical CD-ROM publication model a two-edged +sword * Publishing information on a CD-ROM in the present world of +immature standards * Contrast between CD-ROM and network pricing * +Examples demonstrated earlier in the day as a set of insular information +gems * Paramount need to link databases * Layering to become increasingly +necessary * Project NEEDS and the issues of information reuse and active +versus passive use * X-Windows as a way of differentiating between +network access and networked information * Barriers to the distribution +of networked multimedia information * Need for good, real-time delivery +protocols * The question of presentation integrity in client-server +computing in the academic world * Recommendations for producing multimedia ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Clifford LYNCH, director, Library Automation, University of California, +opened his talk with the general observation that networked information +constituted a difficult and elusive topic because it is something just +starting to develop and not yet fully understood. LYNCH contended that +creating genuinely networked information was different from using +networks as an access or dissemination vehicle and was more sophisticated +and more subtle. He invited the members of the audience to extrapolate, +from what they heard about the preceding demonstration projects, to what +sort of a world of electronics information--scholarly, archival, +cultural, etc.--they wished to end up with ten or fifteen years from now. +LYNCH suggested that to extrapolate directly from these projects would +produce unpleasant results. + +Putting the issue of CD-ROM in perspective before getting into +generalities on networked information, LYNCH observed that those engaged +in multimedia today who wish to ship a product, so to say, probably do +not have much choice except to use CD-ROM: networked multimedia on a +large scale basically does not yet work because the technology does not +exist. For example, anybody who has tried moving images around over the +Internet knows that this is an exciting touch-and-go process, a +fascinating and fertile area for experimentation, research, and +development, but not something that one can become deeply enthusiastic +about committing to production systems at this time. + +This situation will change, LYNCH said. He differentiated CD-ROM from +the practices that have been followed up to now in distributing data on +CD-ROM. For LYNCH the problem with CD-ROM is not its portability or its +slowness but the two-edged sword of having the retrieval application and +the user interface inextricably bound up with the data, which is the +typical CD-ROM publication model. It is not a case of publishing data +but of distributing a typically stand-alone, typically closed system, +all--software, user interface, and data--on a little disk. Hence, all +the between-disk navigational issues as well as the impossibility in most +cases of integrating data on one disk with that on another. Most CD-ROM +retrieval software does not network very gracefully at present. However, +in the present world of immature standards and lack of understanding of +what network information is or what the ground rules are for creating or +using it, publishing information on a CD-ROM does add value in a very +real sense. + +LYNCH drew a contrast between CD-ROM and network pricing and in doing so +highlighted something bizarre in information pricing. A large +institution such as the University of California has vendors who will +offer to sell information on CD-ROM for a price per year in four digits, +but for the same data (e.g., an abstracting and indexing database) on +magnetic tape, regardless of how many people may use it concurrently, +will quote a price in six digits. + +What is packaged with the CD-ROM in one sense adds value--a complete +access system, not just raw, unrefined information--although it is not +generally perceived that way. This is because the access software, +although it adds value, is viewed by some people, particularly in the +university environment where there is a very heavy commitment to +networking, as being developed in the wrong direction. + +Given that context, LYNCH described the examples demonstrated as a set of +insular information gems--Perseus, for example, offers nicely linked +information, but would be very difficult to integrate with other +databases, that is, to link together seamlessly with other source files +from other sources. It resembles an island, and in this respect is +similar to numerous stand-alone projects that are based on videodiscs, +that is, on the single-workstation concept. + +As scholarship evolves in a network environment, the paramount need will +be to link databases. We must link personal databases to public +databases, to group databases, in fairly seamless ways--which is +extremely difficult in the environments under discussion with copies of +databases proliferating all over the place. + +The notion of layering also struck LYNCH as lurking in several of the +projects demonstrated. Several databases in a sense constitute +information archives without a significant amount of navigation built in. +Educators, critics, and others will want a layered structure--one that +defines or links paths through the layers to allow users to reach +specific points. In LYNCH's view, layering will become increasingly +necessary, and not just within a single resource but across resources +(e.g., tracing mythology and cultural themes across several classics +databases as well as a database of Renaissance culture). This ability to +organize resources, to build things out of multiple other things on the +network or select pieces of it, represented for LYNCH one of the key +aspects of network information. + +Contending that information reuse constituted another significant issue, +LYNCH commended to the audience's attention Project NEEDS (i.e., National +Engineering Education Delivery System). This project's objective is to +produce a database of engineering courseware as well as the components +that can be used to develop new courseware. In a number of the existing +applications, LYNCH said, the issue of reuse (how much one can take apart +and reuse in other applications) was not being well considered. He also +raised the issue of active versus passive use, one aspect of which is +how much information will be manipulated locally by users. Most people, +he argued, may do a little browsing and then will wish to print. LYNCH +was uncertain how these resources would be used by the vast majority of +users in the network environment. + +LYNCH next said a few words about X-Windows as a way of differentiating +between network access and networked information. A number of the +applications demonstrated at the Workshop could be rewritten to use X +across the network, so that one could run them from any X-capable device- +-a workstation, an X terminal--and transact with a database across the +network. Although this opens up access a little, assuming one has enough +network to handle it, it does not provide an interface to develop a +program that conveniently integrates information from multiple databases. +X is a viewing technology that has limits. In a real sense, it is just a +graphical version of remote log-in across the network. X-type applications +represent only one step in the progression towards real access. + +LYNCH next discussed barriers to the distribution of networked multimedia +information. The heart of the problem is a lack of standards to provide +the ability for computers to talk to each other, retrieve information, +and shuffle it around fairly casually. At the moment, little progress is +being made on standards for networked information; for example, present +standards do not cover images, digital voice, and digital video. A +useful tool kit of exchange formats for basic texts is only now being +assembled. The synchronization of content streams (i.e., synchronizing a +voice track to a video track, establishing temporal relations between +different components in a multimedia object) constitutes another issue +for networked multimedia that is just beginning to receive attention. + +Underlying network protocols also need some work; good, real-time +delivery protocols on the Internet do not yet exist. In LYNCH's view, +highly important in this context is the notion of networked digital +object IDs, the ability of one object on the network to point to another +object (or component thereof) on the network. Serious bandwidth issues +also exist. LYNCH was uncertain if billion-bit-per-second networks would +prove sufficient if numerous people ran video in parallel. + +LYNCH concluded by offering an issue for database creators to consider, +as well as several comments about what might constitute good trial +multimedia experiments. In a networked information world the database +builder or service builder (publisher) does not exercise the same +extensive control over the integrity of the presentation; strange +programs "munge" with one's data before the user sees it. Serious +thought must be given to what guarantees integrity of presentation. Part +of that is related to where one draws the boundaries around a networked +information service. This question of presentation integrity in +client-server computing has not been stressed enough in the academic +world, LYNCH argued, though commercial service providers deal with it +regularly. + +Concerning multimedia, LYNCH observed that good multimedia at the moment +is hideously expensive to produce. He recommended producing multimedia +with either very high sale value, or multimedia with a very long life +span, or multimedia that will have a very broad usage base and whose +costs therefore can be amortized among large numbers of users. In this +connection, historical and humanistically oriented material may be a good +place to start, because it tends to have a longer life span than much of +the scientific material, as well as a wider user base. LYNCH noted, for +example, that American Memory fits many of the criteria outlined. He +remarked the extensive discussion about bringing the Internet or the +National Research and Education Network (NREN) into the K-12 environment +as a way of helping the American educational system. + +LYNCH closed by noting that the kinds of applications demonstrated struck +him as excellent justifications of broad-scale networking for K-12, but +that at this time no "killer" application exists to mobilize the K-12 +community to obtain connectivity. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Dearth of genuinely interesting applications on the network +a slow-changing situation * The issue of the integrity of presentation in +a networked environment * Several reasons why CD-ROM software does not +network * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During the discussion period that followed LYNCH's presentation, several +additional points were made. + +LYNCH reiterated even more strongly his contention that, historically, +once one goes outside high-end science and the group of those who need +access to supercomputers, there is a great dearth of genuinely +interesting applications on the network. He saw this situation changing +slowly, with some of the scientific databases and scholarly discussion +groups and electronic journals coming on as well as with the availability +of Wide Area Information Servers (WAIS) and some of the databases that +are being mounted there. However, many of those things do not seem to +have piqued great popular interest. For instance, most high school +students of LYNCH's acquaintance would not qualify as devotees of serious +molecular biology. + +Concerning the issue of the integrity of presentation, LYNCH believed +that a couple of information providers have laid down the law at least on +certain things. For example, his recollection was that the National +Library of Medicine feels strongly that one needs to employ the +identifier field if he or she is to mount a database commercially. The +problem with a real networked environment is that one does not know who +is reformatting and reprocessing one's data when one enters a client +server mode. It becomes anybody's guess, for example, if the network +uses a Z39.50 server, or what clients are doing with one's data. A data +provider can say that his contract will only permit clients to have +access to his data after he vets them and their presentation and makes +certain it suits him. But LYNCH held out little expectation that the +network marketplace would evolve in that way, because it required too +much prior negotiation. + +CD-ROM software does not network for a variety of reasons, LYNCH said. +He speculated that CD-ROM publishers are not eager to have their products +really hook into wide area networks, because they fear it will make their +data suppliers nervous. Moreover, until relatively recently, one had to +be rather adroit to run a full TCP/IP stack plus applications on a +PC-size machine, whereas nowadays it is becoming easier as PCs grow +bigger and faster. LYNCH also speculated that software providers had not +heard from their customers until the last year or so, or had not heard +from enough of their customers. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +BESSER * Implications of disseminating images on the network; planning +the distribution of multimedia documents poses two critical +implementation problems * Layered approach represents the way to deal +with users' capabilities * Problems in platform design; file size and its +implications for networking * Transmission of megabyte size images +impractical * Compression and decompression at the user's end * Promising +trends for compression * A disadvantage of using X-Windows * A project at +the Smithsonian that mounts images on several networks * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Howard BESSER, School of Library and Information Science, University of +Pittsburgh, spoke primarily about multimedia, focusing on images and the +broad implications of disseminating them on the network. He argued that +planning the distribution of multimedia documents posed two critical +implementation problems, which he framed in the form of two questions: +1) What platform will one use and what hardware and software will users +have for viewing of the material? and 2) How can one deliver a +sufficiently robust set of information in an accessible format in a +reasonable amount of time? Depending on whether network or CD-ROM is the +medium used, this question raises different issues of storage, +compression, and transmission. + +Concerning the design of platforms (e.g., sound, gray scale, simple +color, etc.) and the various capabilities users may have, BESSER +maintained that a layered approach was the way to deal with users' +capabilities. A result would be that users with less powerful +workstations would simply have less functionality. He urged members of +the audience to advocate standards and accompanying software that handle +layered functionality across a wide variety of platforms. + +BESSER also addressed problems in platform design, namely, deciding how +large a machine to design for situations when the largest number of users +have the lowest level of the machine, and one desires higher +functionality. BESSER then proceeded to the question of file size and +its implications for networking. He discussed still images in the main. +For example, a digital color image that fills the screen of a standard +mega-pel workstation (Sun or Next) will require one megabyte of storage +for an eight-bit image or three megabytes of storage for a true color or +twenty-four-bit image. Lossless compression algorithms (that is, +computational procedures in which no data is lost in the process of +compressing [and decompressing] an image--the exact bit-representation is +maintained) might bring storage down to a third of a megabyte per image, +but not much further than that. The question of size makes it difficult +to fit an appropriately sized set of these images on a single disk or to +transmit them quickly enough on a network. + +With these full screen mega-pel images that constitute a third of a +megabyte, one gets 1,000-3,000 full-screen images on a one-gigabyte disk; +a standard CD-ROM represents approximately 60 percent of that. Storing +images the size of a PC screen (just 8 bit color) increases storage +capacity to 4,000-12,000 images per gigabyte; 60 percent of that gives +one the size of a CD-ROM, which in turn creates a major problem. One +cannot have full-screen, full-color images with lossless compression; one +must compress them or use a lower resolution. For megabyte-size images, +anything slower than a T-1 speed is impractical. For example, on a +fifty-six-kilobaud line, it takes three minutes to transfer a +one-megabyte file, if it is not compressed; and this speed assumes ideal +circumstances (no other user contending for network bandwidth). Thus, +questions of disk access, remote display, and current telephone +connection speed make transmission of megabyte-size images impractical. + +BESSER then discussed ways to deal with these large images, for example, +compression and decompression at the user's end. In this connection, the +issues of how much one is willing to lose in the compression process and +what image quality one needs in the first place are unknown. But what is +known is that compression entails some loss of data. BESSER urged that +more studies be conducted on image quality in different situations, for +example, what kind of images are needed for what kind of disciplines, and +what kind of image quality is needed for a browsing tool, an intermediate +viewing tool, and archiving. + +BESSER remarked two promising trends for compression: from a technical +perspective, algorithms that use what is called subjective redundancy +employ principles from visual psycho-physics to identify and remove +information from the image that the human eye cannot perceive; from an +interchange and interoperability perspective, the JPEG (i.e., Joint +Photographic Experts Group, an ISO standard) compression algorithms also +offer promise. These issues of compression and decompression, BESSER +argued, resembled those raised earlier concerning the design of different +platforms. Gauging the capabilities of potential users constitutes a +primary goal. BESSER advocated layering or separating the images from +the applications that retrieve and display them, to avoid tying them to +particular software. + +BESSER detailed several lessons learned from his work at Berkeley with +Imagequery, especially the advantages and disadvantages of using +X-Windows. In the latter category, for example, retrieval is tied +directly to one's data, an intolerable situation in the long run on a +networked system. Finally, BESSER described a project of Jim Wallace at +the Smithsonian Institution, who is mounting images in a extremely +rudimentary way on the Compuserv and Genie networks and is preparing to +mount them on America On Line. Although the average user takes over +thirty minutes to download these images (assuming a fairly fast modem), +nevertheless, images have been downloaded 25,000 times. + +BESSER concluded his talk with several comments on the business +arrangement between the Smithsonian and Compuserv. He contended that not +enough is known concerning the value of images. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Creating digitized photographic collections nearly +impossible except with large organizations like museums * Need for study +to determine quality of images users will tolerate * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During the brief exchange between LESK and BESSER that followed, several +clarifications emerged. + +LESK argued that the photographers were far ahead of BESSER: It is +almost impossible to create such digitized photographic collections +except with large organizations like museums, because all the +photographic agencies have been going crazy about this and will not sign +licensing agreements on any sort of reasonable terms. LESK had heard +that National Geographic, for example, had tried to buy the right to use +some image in some kind of educational production for $100 per image, but +the photographers will not touch it. They want accounting and payment +for each use, which cannot be accomplished within the system. BESSER +responded that a consortium of photographers, headed by a former National +Geographic photographer, had started assembling its own collection of +electronic reproductions of images, with the money going back to the +cooperative. + +LESK contended that BESSER was unnecessarily pessimistic about multimedia +images, because people are accustomed to low-quality images, particularly +from video. BESSER urged the launching of a study to determine what +users would tolerate, what they would feel comfortable with, and what +absolutely is the highest quality they would ever need. Conceding that +he had adopted a dire tone in order to arouse people about the issue, +BESSER closed on a sanguine note by saying that he would not be in this +business if he did not think that things could be accomplished. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +LARSEN * Issues of scalability and modularity * Geometric growth of the +Internet and the role played by layering * Basic functions sustaining +this growth * A library's roles and functions in a network environment * +Effects of implementation of the Z39.50 protocol for information +retrieval on the library system * The trade-off between volumes of data +and its potential usage * A snapshot of current trends * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Ronald LARSEN, associate director for information technology, University +of Maryland at College Park, first addressed the issues of scalability +and modularity. He noted the difficulty of anticipating the effects of +orders-of-magnitude growth, reflecting on the twenty years of experience +with the Arpanet and Internet. Recalling the day's demonstrations of +CD-ROM and optical disk material, he went on to ask if the field has yet +learned how to scale new systems to enable delivery and dissemination +across large-scale networks. + +LARSEN focused on the geometric growth of the Internet from its inception +circa 1969 to the present, and the adjustments required to respond to +that rapid growth. To illustrate the issue of scalability, LARSEN +considered computer networks as including three generic components: +computers, network communication nodes, and communication media. Each +component scales (e.g., computers range from PCs to supercomputers; +network nodes scale from interface cards in a PC through sophisticated +routers and gateways; and communication media range from 2,400-baud +dial-up facilities through 4.5-Mbps backbone links, and eventually to +multigigabit-per-second communication lines), and architecturally, the +components are organized to scale hierarchically from local area networks +to international-scale networks. Such growth is made possible by +building layers of communication protocols, as BESSER pointed out. +By layering both physically and logically, a sense of scalability is +maintained from local area networks in offices, across campuses, through +bridges, routers, campus backbones, fiber-optic links, etc., up into +regional networks and ultimately into national and international +networks. + +LARSEN then illustrated the geometric growth over a two-year period-- +through September 1991--of the number of networks that comprise the +Internet. This growth has been sustained largely by the availability of +three basic functions: electronic mail, file transfer (ftp), and remote +log-on (telnet). LARSEN also reviewed the growth in the kind of traffic +that occurs on the network. Network traffic reflects the joint contributions +of a larger population of users and increasing use per user. Today one sees +serious applications involving moving images across the network--a rarity +ten years ago. LARSEN recalled and concurred with BESSER's main point +that the interesting problems occur at the application level. + +LARSEN then illustrated a model of a library's roles and functions in a +network environment. He noted, in particular, the placement of on-line +catalogues onto the network and patrons obtaining access to the library +increasingly through local networks, campus networks, and the Internet. +LARSEN supported LYNCH's earlier suggestion that we need to address +fundamental questions of networked information in order to build +environments that scale in the information sense as well as in the +physical sense. + +LARSEN supported the role of the library system as the access point into +the nation's electronic collections. Implementation of the Z39.50 +protocol for information retrieval would make such access practical and +feasible. For example, this would enable patrons in Maryland to search +California libraries, or other libraries around the world that are +conformant with Z39.50 in a manner that is familiar to University of +Maryland patrons. This client-server model also supports moving beyond +secondary content into primary content. (The notion of how one links +from secondary content to primary content, LARSEN said, represents a +fundamental problem that requires rigorous thought.) After noting +numerous network experiments in accessing full-text materials, including +projects supporting the ordering of materials across the network, LARSEN +revisited the issue of transmitting high-density, high-resolution color +images across the network and the large amounts of bandwidth they +require. He went on to address the bandwidth and synchronization +problems inherent in sending full-motion video across the network. + +LARSEN illustrated the trade-off between volumes of data in bytes or +orders of magnitude and the potential usage of that data. He discussed +transmission rates (particularly, the time it takes to move various forms +of information), and what one could do with a network supporting +multigigabit-per-second transmission. At the moment, the network +environment includes a composite of data-transmission requirements, +volumes and forms, going from steady to bursty (high-volume) and from +very slow to very fast. This aggregate must be considered in the design, +construction, and operation of multigigabyte networks. + +LARSEN's objective is to use the networks and library systems now being +constructed to increase access to resources wherever they exist, and +thus, to evolve toward an on-line electronic virtual library. + +LARSEN concluded by offering a snapshot of current trends: continuing +geometric growth in network capacity and number of users; slower +development of applications; and glacial development and adoption of +standards. The challenge is to design and develop each new application +system with network access and scalability in mind. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +BROWNRIGG * Access to the Internet cannot be taken for granted * Packet +radio and the development of MELVYL in 1980-81 in the Division of Library +Automation at the University of California * Design criteria for packet +radio * A demonstration project in San Diego and future plans * Spread +spectrum * Frequencies at which the radios will run and plans to +reimplement the WAIS server software in the public domain * Need for an +infrastructure of radios that do not move around * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Edwin BROWNRIGG, executive director, Memex Research Institute, first +polled the audience in order to seek out regular users of the Internet as +well as those planning to use it some time in the future. With nearly +everybody in the room falling into one category or the other, BROWNRIGG +made a point re access, namely that numerous individuals, especially those +who use the Internet every day, take for granted their access to it, the +speeds with which they are connected, and how well it all works. +However, as BROWNRIGG discovered between 1987 and 1989 in Australia, +if one wants access to the Internet but cannot afford it or has some +physical boundary that prevents her or him from gaining access, it can +be extremely frustrating. He suggested that because of economics and +physical barriers we were beginning to create a world of haves and have-nots +in the process of scholarly communication, even in the United States. + +BROWNRIGG detailed the development of MELVYL in academic year 1980-81 in +the Division of Library Automation at the University of California, in +order to underscore the issue of access to the system, which at the +outset was extremely limited. In short, the project needed to build a +network, which at that time entailed use of satellite technology, that is, +putting earth stations on campus and also acquiring some terrestrial links +from the State of California's microwave system. The installation of +satellite links, however, did not solve the problem (which actually +formed part of a larger problem involving politics and financial resources). +For while the project team could get a signal onto a campus, it had no means +of distributing the signal throughout the campus. The solution involved +adopting a recent development in wireless communication called packet radio, +which combined the basic notion of packet-switching with radio. The project +used this technology to get the signal from a point on campus where it +came down, an earth station for example, into the libraries, because it +found that wiring the libraries, especially the older marble buildings, +would cost $2,000-$5,000 per terminal. + +BROWNRIGG noted that, ten years ago, the project had neither the public +policy nor the technology that would have allowed it to use packet radio +in any meaningful way. Since then much had changed. He proceeded to +detail research and development of the technology, how it is being +deployed in California, and what direction he thought it would take. +The design criteria are to produce a high-speed, one-time, low-cost, +high-quality, secure, license-free device (packet radio) that one can +plug in and play today, forget about it, and have access to the Internet. +By high speed, BROWNRIGG meant 1 megabyte and 1.5 megabytes. Those units +have been built, he continued, and are in the process of being +type-certified by an independent underwriting laboratory so that they can +be type-licensed by the Federal Communications Commission. As is the +case with citizens band, one will be able to purchase a unit and not have +to worry about applying for a license. + +The basic idea, BROWNRIGG elaborated, is to take high-speed radio data +transmission and create a backbone network that at certain strategic +points in the network will "gateway" into a medium-speed packet radio +(i.e., one that runs at 38.4 kilobytes), so that perhaps by 1994-1995 +people, like those in the audience for the price of a VCR could purchase +a medium-speed radio for the office or home, have full network connectivity +to the Internet, and partake of all its services, with no need for an FCC +license and no regular bill from the local common carrier. BROWNRIGG +presented several details of a demonstration project currently taking +place in San Diego and described plans, pending funding, to install a +full-bore network in the San Francisco area. This network will have 600 +nodes running at backbone speeds, and 100 of these nodes will be libraries, +which in turn will be the gateway ports to the 38.4 kilobyte radios that +will give coverage for the neighborhoods surrounding the libraries. + +BROWNRIGG next explained Part 15.247, a new rule within Title 47 of the +Code of Federal Regulations enacted by the FCC in 1985. This rule +challenged the industry, which has only now risen to the occasion, to +build a radio that would run at no more than one watt of output power and +use a fairly exotic method of modulating the radio wave called spread +spectrum. Spread spectrum in fact permits the building of networks so +that numerous data communications can occur simultaneously, without +interfering with each other, within the same wide radio channel. + +BROWNRIGG explained that the frequencies at which the radios would run +are very short wave signals. They are well above standard microwave and +radar. With a radio wave that small, one watt becomes a tremendous punch +per bit and thus makes transmission at reasonable speed possible. In +order to minimize the potential for congestion, the project is +undertaking to reimplement software which has been available in the +networking business and is taken for granted now, for example, TCP/IP, +routing algorithms, bridges, and gateways. In addition, the project +plans to take the WAIS server software in the public domain and +reimplement it so that one can have a WAIS server on a Mac instead of a +Unix machine. The Memex Research Institute believes that libraries, in +particular, will want to use the WAIS servers with packet radio. This +project, which has a team of about twelve people, will run through 1993 +and will include the 100 libraries already mentioned as well as other +professionals such as those in the medical profession, engineering, and +law. Thus, the need is to create an infrastructure of radios that do not +move around, which, BROWNRIGG hopes, will solve a problem not only for +libraries but for individuals who, by and large today, do not have access +to the Internet from their homes and offices. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Project operating frequencies * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During a brief discussion period, which also concluded the day's +proceedings, BROWNRIGG stated that the project was operating in four +frequencies. The slow speed is operating at 435 megahertz, and it would +later go up to 920 megahertz. With the high-speed frequency, the +one-megabyte radios will run at 2.4 gigabits, and 1.5 will run at 5.7. +At 5.7, rain can be a factor, but it would have to be tropical rain, +unlike what falls in most parts of the United States. + + ****** + +SESSION IV. IMAGE CAPTURE, TEXT CAPTURE, OVERVIEW OF TEXT AND + IMAGE STORAGE FORMATS + +William HOOTON, vice president of operations, I-NET, moderated this session. + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +KENNEY * Factors influencing development of CXP * Advantages of using +digital technology versus photocopy and microfilm * A primary goal of +CXP; publishing challenges * Characteristics of copies printed * Quality +of samples achieved in image capture * Several factors to be considered +in choosing scanning * Emphasis of CXP on timely and cost-effective +production of black-and-white printed facsimiles * Results of producing +microfilm from digital files * Advantages of creating microfilm * Details +concerning production * Costs * Role of digital technology in library +preservation * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Anne KENNEY, associate director, Department of Preservation and +Conservation, Cornell University, opened her talk by observing that the +Cornell Xerox Project (CXP) has been guided by the assumption that the +ability to produce printed facsimiles or to replace paper with paper +would be important, at least for the present generation of users and +equipment. She described three factors that influenced development of +the project: 1) Because the project has emphasized the preservation of +deteriorating brittle books, the quality of what was produced had to be +sufficiently high to return a paper replacement to the shelf. CXP was +only interested in using: 2) a system that was cost-effective, which +meant that it had to be cost-competitive with the processes currently +available, principally photocopy and microfilm, and 3) new or currently +available product hardware and software. + +KENNEY described the advantages that using digital technology offers over +both photocopy and microfilm: 1) The potential exists to create a higher +quality reproduction of a deteriorating original than conventional +light-lens technology. 2) Because a digital image is an encoded +representation, it can be reproduced again and again with no resulting +loss of quality, as opposed to the situation with light-lens processes, +in which there is discernible difference between a second and a +subsequent generation of an image. 3) A digital image can be manipulated +in a number of ways to improve image capture; for example, Xerox has +developed a windowing application that enables one to capture a page +containing both text and illustrations in a manner that optimizes the +reproduction of both. (With light-lens technology, one must choose which +to optimize, text or the illustration; in preservation microfilming, the +current practice is to shoot an illustrated page twice, once to highlight +the text and the second time to provide the best capture for the +illustration.) 4) A digital image can also be edited, density levels +adjusted to remove underlining and stains, and to increase legibility for +faint documents. 5) On-screen inspection can take place at the time of +initial setup and adjustments made prior to scanning, factors that +substantially reduce the number of retakes required in quality control. + +A primary goal of CXP has been to evaluate the paper output printed on +the Xerox DocuTech, a high-speed printer that produces 600-dpi pages from +scanned images at a rate of 135 pages a minute. KENNEY recounted several +publishing challenges to represent faithful and legible reproductions of +the originals that the 600-dpi copy for the most part successfully +captured. For example, many of the deteriorating volumes in the project +were heavily illustrated with fine line drawings or halftones or came in +languages such as Japanese, in which the buildup of characters comprised +of varying strokes is difficult to reproduce at lower resolutions; a +surprising number of them came with annotations and mathematical +formulas, which it was critical to be able to duplicate exactly. + +KENNEY noted that 1) the copies are being printed on paper that meets the +ANSI standards for performance, 2) the DocuTech printer meets the machine +and toner requirements for proper adhesion of print to page, as described +by the National Archives, and thus 3) paper product is considered to be +the archival equivalent of preservation photocopy. + +KENNEY then discussed several samples of the quality achieved in the +project that had been distributed in a handout, for example, a copy of a +print-on-demand version of the 1911 Reed lecture on the steam turbine, +which contains halftones, line drawings, and illustrations embedded in +text; the first four loose pages in the volume compared the capture +capabilities of scanning to photocopy for a standard test target, the +IEEE standard 167A 1987 test chart. In all instances scanning proved +superior to photocopy, though only slightly more so in one. + +Conceding the simplistic nature of her review of the quality of scanning +to photocopy, KENNEY described it as one representation of the kinds of +settings that could be used with scanning capabilities on the equipment +CXP uses. KENNEY also pointed out that CXP investigated the quality +achieved with binary scanning only, and noted the great promise in gray +scale and color scanning, whose advantages and disadvantages need to be +examined. She argued further that scanning resolutions and file formats +can represent a complex trade-off between the time it takes to capture +material, file size, fidelity to the original, and on-screen display; and +printing and equipment availability. All these factors must be taken +into consideration. + +CXP placed primary emphasis on the production in a timely and +cost-effective manner of printed facsimiles that consisted largely of +black-and-white text. With binary scanning, large files may be +compressed efficiently and in a lossless manner (i.e., no data is lost in +the process of compressing [and decompressing] an image--the exact +bit-representation is maintained) using Group 4 CCITT (i.e., the French +acronym for International Consultative Committee for Telegraph and +Telephone) compression. CXP was getting compression ratios of about +forty to one. Gray-scale compression, which primarily uses JPEG, is much +less economical and can represent a lossy compression (i.e., not +lossless), so that as one compresses and decompresses, the illustration +is subtly changed. While binary files produce a high-quality printed +version, it appears 1) that other combinations of spatial resolution with +gray and/or color hold great promise as well, and 2) that gray scale can +represent a tremendous advantage for on-screen viewing. The quality +associated with binary and gray scale also depends on the equipment used. +For instance, binary scanning produces a much better copy on a binary +printer. + +Among CXP's findings concerning the production of microfilm from digital +files, KENNEY reported that the digital files for the same Reed lecture +were used to produce sample film using an electron beam recorder. The +resulting film was faithful to the image capture of the digital files, +and while CXP felt that the text and image pages represented in the Reed +lecture were superior to that of the light-lens film, the resolution +readings for the 600 dpi were not as high as standard microfilming. +KENNEY argued that the standards defined for light-lens technology are +not totally transferable to a digital environment. Moreover, they are +based on definition of quality for a preservation copy. Although making +this case will prove to be a long, uphill struggle, CXP plans to continue +to investigate the issue over the course of the next year. + +KENNEY concluded this portion of her talk with a discussion of the +advantages of creating film: it can serve as a primary backup and as a +preservation master to the digital file; it could then become the print +or production master and service copies could be paper, film, optical +disks, magnetic media, or on-screen display. + +Finally, KENNEY presented details re production: + + * Development and testing of a moderately-high resolution production + scanning workstation represented a third goal of CXP; to date, 1,000 + volumes have been scanned, or about 300,000 images. + + * The resulting digital files are stored and used to produce + hard-copy replacements for the originals and additional prints on + demand; although the initial costs are high, scanning technology + offers an affordable means for reformatting brittle material. + + * A technician in production mode can scan 300 pages per hour when + performing single-sheet scanning, which is a necessity when working + with truly brittle paper; this figure is expected to increase + significantly with subsequent iterations of the software from Xerox; + a three-month time-and-cost study of scanning found that the average + 300-page book would take about an hour and forty minutes to scan + (this figure included the time for setup, which involves keying in + primary bibliographic data, going into quality control mode to + define page size, establishing front-to-back registration, and + scanning sample pages to identify a default range of settings for + the entire book--functions not dissimilar to those performed by + filmers or those preparing a book for photocopy). + + * The final step in the scanning process involved rescans, which + happily were few and far between, representing well under 1 percent + of the total pages scanned. + +In addition to technician time, CXP costed out equipment, amortized over +four years, the cost of storing and refreshing the digital files every +four years, and the cost of printing and binding, book-cloth binding, a +paper reproduction. The total amounted to a little under $65 per single +300-page volume, with 30 percent overhead included--a figure competitive +with the prices currently charged by photocopy vendors. + +Of course, with scanning, in addition to the paper facsimile, one is left +with a digital file from which subsequent copies of the book can be +produced for a fraction of the cost of photocopy, with readers afforded +choices in the form of these copies. + +KENNEY concluded that digital technology offers an electronic means for a +library preservation effort to pay for itself. If a brittle-book program +included the means of disseminating reprints of books that are in demand +by libraries and researchers alike, the initial investment in capture +could be recovered and used to preserve additional but less popular +books. She disclosed that an economic model for a self-sustaining +program could be developed for CXP's report to the Commission on +Preservation and Access (CPA). + +KENNEY stressed that the focus of CXP has been on obtaining high quality +in a production environment. The use of digital technology is viewed as +an affordable alternative to other reformatting options. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +ANDRE * Overview and history of NATDP * Various agricultural CD-ROM +products created inhouse and by service bureaus * Pilot project on +Internet transmission * Additional products in progress * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Pamela ANDRE, associate director for automation, National Agricultural +Text Digitizing Program (NATDP), National Agricultural Library (NAL), +presented an overview of NATDP, which has been underway at NAL the last +four years, before Judith ZIDAR discussed the technical details. ANDRE +defined agricultural information as a broad range of material going from +basic and applied research in the hard sciences to the one-page pamphlets +that are distributed by the cooperative state extension services on such +things as how to grow blueberries. + +NATDP began in late 1986 with a meeting of representatives from the +land-grant library community to deal with the issue of electronic +information. NAL and forty-five of these libraries banded together to +establish this project--to evaluate the technology for converting what +were then source documents in paper form into electronic form, to provide +access to that digital information, and then to distribute it. +Distributing that material to the community--the university community as +well as the extension service community, potentially down to the county +level--constituted the group's chief concern. + +Since January 1988 (when the microcomputer-based scanning system was +installed at NAL), NATDP has done a variety of things, concerning which +ZIDAR would provide further details. For example, the first technology +considered in the project's discussion phase was digital videodisc, which +indicates how long ago it was conceived. + +Over the four years of this project, four separate CD-ROM products on +four different agricultural topics were created, two at a +scanning-and-OCR station installed at NAL, and two by service bureaus. +Thus, NATDP has gained comparative information in terms of those relative +costs. Each of these products contained the full ASCII text as well as +page images of the material, or between 4,000 and 6,000 pages of material +on these disks. Topics included aquaculture, food, agriculture and +science (i.e., international agriculture and research), acid rain, and +Agent Orange, which was the final product distributed (approximately +eighteen months before the Workshop). + +The third phase of NATDP focused on delivery mechanisms other than +CD-ROM. At the suggestion of Clifford LYNCH, who was a technical +consultant to the project at this point, NATDP became involved with the +Internet and initiated a project with the help of North Carolina State +University, in which fourteen of the land-grant university libraries are +transmitting digital images over the Internet in response to interlibrary +loan requests--a topic for another meeting. At this point, the pilot +project had been completed for about a year and the final report would be +available shortly after the Workshop. In the meantime, the project's +success had led to its extension. (ANDRE noted that one of the first +things done under the program title was to select a retrieval package to +use with subsequent products; Windows Personal Librarian was the package +of choice after a lengthy evaluation.) + +Three additional products had been planned and were in progress: + + 1) An arrangement with the American Society of Agronomy--a + professional society that has published the Agronomy Journal since + about 1908--to scan and create bit-mapped images of its journal. + ASA granted permission first to put and then to distribute this + material in electronic form, to hold it at NAL, and to use these + electronic images as a mechanism to deliver documents or print out + material for patrons, among other uses. Effectively, NAL has the + right to use this material in support of its program. + (Significantly, this arrangement offers a potential cooperative + model for working with other professional societies in agriculture + to try to do the same thing--put the journals of particular interest + to agriculture research into electronic form.) + + 2) An extension of the earlier product on aquaculture. + + 3) The George Washington Carver Papers--a joint project with + Tuskegee University to scan and convert from microfilm some 3,500 + images of Carver's papers, letters, and drawings. + +It was anticipated that all of these products would appear no more than +six months after the Workshop. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +ZIDAR * (A separate arena for scanning) * Steps in creating a database * +Image capture, with and without performing OCR * Keying in tracking data +* Scanning, with electronic and manual tracking * Adjustments during +scanning process * Scanning resolutions * Compression * De-skewing and +filtering * Image capture from microform: the papers and letters of +George Washington Carver * Equipment used for a scanning system * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Judith ZIDAR, coordinator, National Agricultural Text Digitizing Program +(NATDP), National Agricultural Library (NAL), illustrated the technical +details of NATDP, including her primary responsibility, scanning and +creating databases on a topic and putting them on CD-ROM. + +(ZIDAR remarked a separate arena from the CD-ROM projects, although the +processing of the material is nearly identical, in which NATDP is also +scanning material and loading it on a Next microcomputer, which in turn +is linked to NAL's integrated library system. Thus, searches in NAL's +bibliographic database will enable people to pull up actual page images +and text for any documents that have been entered.) + +In accordance with the session's topic, ZIDAR focused her illustrated +talk on image capture, offering a primer on the three main steps in the +process: 1) assemble the printed publications; 2) design the database +(database design occurs in the process of preparing the material for +scanning; this step entails reviewing and organizing the material, +defining the contents--what will constitute a record, what kinds of +fields will be captured in terms of author, title, etc.); 3) perform a +certain amount of markup on the paper publications. NAL performs this +task record by record, preparing work sheets or some other sort of +tracking material and designing descriptors and other enhancements to be +added to the data that will not be captured from the printed publication. +Part of this process also involves determining NATDP's file and directory +structure: NATDP attempts to avoid putting more than approximately 100 +images in a directory, because placing more than that on a CD-ROM would +reduce the access speed. + +This up-front process takes approximately two weeks for a +6,000-7,000-page database. The next step is to capture the page images. +How long this process takes is determined by the decision whether or not +to perform OCR. Not performing OCR speeds the process, whereas text +capture requires greater care because of the quality of the image: it +has to be straighter and allowance must be made for text on a page, not +just for the capture of photographs. + +NATDP keys in tracking data, that is, a standard bibliographic record +including the title of the book and the title of the chapter, which will +later either become the access information or will be attached to the +front of a full-text record so that it is searchable. + +Images are scanned from a bound or unbound publication, chiefly from +bound publications in the case of NATDP, however, because often they are +the only copies and the publications are returned to the shelves. NATDP +usually scans one record at a time, because its database tracking system +tracks the document in that way and does not require further logical +separating of the images. After performing optical character +recognition, NATDP moves the images off the hard disk and maintains a +volume sheet. Though the system tracks electronically, all the +processing steps are also tracked manually with a log sheet. + +ZIDAR next illustrated the kinds of adjustments that one can make when +scanning from paper and microfilm, for example, redoing images that need +special handling, setting for dithering or gray scale, and adjusting for +brightness or for the whole book at one time. + +NATDP is scanning at 300 dots per inch, a standard scanning resolution. +Though adequate for capturing text that is all of a standard size, 300 +dpi is unsuitable for any kind of photographic material or for very small +text. Many scanners allow for different image formats, TIFF, of course, +being a de facto standard. But if one intends to exchange images with +other people, the ability to scan other image formats, even if they are +less common, becomes highly desirable. + +CCITT Group 4 is the standard compression for normal black-and-white +images, JPEG for gray scale or color. ZIDAR recommended 1) using the +standard compressions, particularly if one attempts to make material +available and to allow users to download images and reuse them from +CD-ROMs; and 2) maintaining the ability to output an uncompressed image, +because in image exchange uncompressed images are more likely to be able +to cross platforms. + +ZIDAR emphasized the importance of de-skewing and filtering as +requirements on NATDP's upgraded system. For instance, scanning bound +books, particularly books published by the federal government whose pages +are skewed, and trying to scan them straight if OCR is to be performed, +is extremely time-consuming. The same holds for filtering of +poor-quality or older materials. + +ZIDAR described image capture from microform, using as an example three +reels from a sixty-seven-reel set of the papers and letters of George +Washington Carver that had been produced by Tuskegee University. These +resulted in approximately 3,500 images, which NATDP had had scanned by +its service contractor, Science Applications International Corporation +(SAIC). NATDP also created bibliographic records for access. (NATDP did +not have such specialized equipment as a microfilm scanner. + +Unfortunately, the process of scanning from microfilm was not an +unqualified success, ZIDAR reported: because microfilm frame sizes vary, +occasionally some frames were missed, which without spending much time +and money could not be recaptured. + +OCR could not be performed from the scanned images of the frames. The +bleeding in the text simply output text, when OCR was run, that could not +even be edited. NATDP tested for negative versus positive images, +landscape versus portrait orientation, and single- versus dual-page +microfilm, none of which seemed to affect the quality of the image; but +also on none of them could OCR be performed. + +In selecting the microfilm they would use, therefore, NATDP had other +factors in mind. ZIDAR noted two factors that influenced the quality of +the images: 1) the inherent quality of the original and 2) the amount of +size reduction on the pages. + +The Carver papers were selected because they are informative and visually +interesting, treat a single subject, and are valuable in their own right. +The images were scanned and divided into logical records by SAIC, then +delivered, and loaded onto NATDP's system, where bibliographic +information taken directly from the images was added. Scanning was +completed in summer 1991 and by the end of summer 1992 the disk was +scheduled to be published. + +Problems encountered during processing included the following: Because +the microfilm scanning had to be done in a batch, adjustment for +individual page variations was not possible. The frame size varied on +account of the nature of the material, and therefore some of the frames +were missed while others were just partial frames. The only way to go +back and capture this material was to print out the page with the +microfilm reader from the missing frame and then scan it in from the +page, which was extremely time-consuming. The quality of the images +scanned from the printout of the microfilm compared unfavorably with that +of the original images captured directly from the microfilm. The +inability to perform OCR also was a major disappointment. At the time, +computer output microfilm was unavailable to test. + +The equipment used for a scanning system was the last topic addressed by +ZIDAR. The type of equipment that one would purchase for a scanning +system included: a microcomputer, at least a 386, but preferably a 486; +a large hard disk, 380 megabyte at minimum; a multi-tasking operating +system that allows one to run some things in batch in the background +while scanning or doing text editing, for example, Unix or OS/2 and, +theoretically, Windows; a high-speed scanner and scanning software that +allows one to make the various adjustments mentioned earlier; a +high-resolution monitor (150 dpi ); OCR software and hardware to perform +text recognition; an optical disk subsystem on which to archive all the +images as the processing is done; file management and tracking software. + +ZIDAR opined that the software one purchases was more important than the +hardware and might also cost more than the hardware, but it was likely to +prove critical to the success or failure of one's system. In addition to +a stand-alone scanning workstation for image capture, then, text capture +requires one or two editing stations networked to this scanning station +to perform editing. Editing the text takes two or three times as long as +capturing the images. + +Finally, ZIDAR stressed the importance of buying an open system that allows +for more than one vendor, complies with standards, and can be upgraded. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +WATERS *Yale University Library's master plan to convert microfilm to +digital imagery (POB) * The place of electronic tools in the library of +the future * The uses of images and an image library * Primary input from +preservation microfilm * Features distinguishing POB from CXP and key +hypotheses guiding POB * Use of vendor selection process to facilitate +organizational work * Criteria for selecting vendor * Finalists and +results of process for Yale * Key factor distinguishing vendors * +Components, design principles, and some estimated costs of POB * Role of +preservation materials in developing imaging market * Factors affecting +quality and cost * Factors affecting the usability of complex documents +in image form * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Donald WATERS, head of the Systems Office, Yale University Library, +reported on the progress of a master plan for a project at Yale to +convert microfilm to digital imagery, Project Open Book (POB). Stating +that POB was in an advanced stage of planning, WATERS detailed, in +particular, the process of selecting a vendor partner and several key +issues under discussion as Yale prepares to move into the project itself. +He commented first on the vision that serves as the context of POB and +then described its purpose and scope. + +WATERS sees the library of the future not necessarily as an electronic +library but as a place that generates, preserves, and improves for its +clients ready access to both intellectual and physical recorded +knowledge. Electronic tools must find a place in the library in the +context of this vision. Several roles for electronic tools include +serving as: indirect sources of electronic knowledge or as "finding" +aids (the on-line catalogues, the article-level indices, registers for +documents and archives); direct sources of recorded knowledge; full-text +images; and various kinds of compound sources of recorded knowledge (the +so-called compound documents of Hypertext, mixed text and image, +mixed-text image format, and multimedia). + +POB is looking particularly at images and an image library, the uses to +which images will be put (e.g., storage, printing, browsing, and then use +as input for other processes), OCR as a subsequent process to image +capture, or creating an image library, and also possibly generating +microfilm. + +While input will come from a variety of sources, POB is considering +especially input from preservation microfilm. A possible outcome is that +the film and paper which provide the input for the image library +eventually may go off into remote storage, and that the image library may +be the primary access tool. + +The purpose and scope of POB focus on imaging. Though related to CXP, +POB has two features which distinguish it: 1) scale--conversion of +10,000 volumes into digital image form; and 2) source--conversion from +microfilm. Given these features, several key working hypotheses guide +POB, including: 1) Since POB is using microfilm, it is not concerned with +the image library as a preservation medium. 2) Digital imagery can improve +access to recorded knowledge through printing and network distribution at +a modest incremental cost of microfilm. 3) Capturing and storing documents +in a digital image form is necessary to further improvements in access. +(POB distinguishes between the imaging, digitizing process and OCR, +which at this stage it does not plan to perform.) + +Currently in its first or organizational phase, POB found that it could +use a vendor selection process to facilitate a good deal of the +organizational work (e.g., creating a project team and advisory board, +confirming the validity of the plan, establishing the cost of the project +and a budget, selecting the materials to convert, and then raising the +necessary funds). + +POB developed numerous selection criteria, including: a firm committed +to image-document management, the ability to serve as systems integrator +in a large-scale project over several years, interest in developing the +requisite software as a standard rather than a custom product, and a +willingness to invest substantial resources in the project itself. + +Two vendors, DEC and Xerox, were selected as finalists in October 1991, +and with the support of the Commission on Preservation and Access, each +was commissioned to generate a detailed requirements analysis for the +project and then to submit a formal proposal for the completion of the +project, which included a budget and costs. The terms were that POB would +pay the loser. The results for Yale of involving a vendor included: +broad involvement of Yale staff across the board at a relatively low +cost, which may have long-term significance in carrying out the project +(twenty-five to thirty university people are engaged in POB); better +understanding of the factors that affect corporate response to markets +for imaging products; a competitive proposal; and a more sophisticated +view of the imaging markets. + +The most important factor that distinguished the vendors under +consideration was their identification with the customer. The size and +internal complexity of the company also was an important factor. POB was +looking at large companies that had substantial resources. In the end, +the process generated for Yale two competitive proposals, with Xerox's +the clear winner. WATERS then described the components of the proposal, +the design principles, and some of the costs estimated for the process. + +Components are essentially four: a conversion subsystem, a +network-accessible storage subsystem for 10,000 books (and POB expects +200 to 600 dpi storage), browsing stations distributed on the campus +network, and network access to the image printers. + +Among the design principles, POB wanted conversion at the highest +possible resolution. Assuming TIFF files, TIFF files with Group 4 +compression, TCP/IP, and ethernet network on campus, POB wanted a +client-server approach with image documents distributed to the +workstations and made accessible through native workstation interfaces +such as Windows. POB also insisted on a phased approach to +implementation: 1) a stand-alone, single-user, low-cost entry into the +business with a workstation focused on conversion and allowing POB to +explore user access; 2) movement into a higher-volume conversion with +network-accessible storage and multiple access stations; and 3) a +high-volume conversion, full-capacity storage, and multiple browsing +stations distributed throughout the campus. + +The costs proposed for start-up assumed the existence of the Yale network +and its two DocuTech image printers. Other start-up costs are estimated +at $1 million over the three phases. At the end of the project, the annual +operating costs estimated primarily for the software and hardware proposed +come to about $60,000, but these exclude costs for labor needed in the +conversion process, network and printer usage, and facilities management. + +Finally, the selection process produced for Yale a more sophisticated +view of the imaging markets: the management of complex documents in +image form is not a preservation problem, not a library problem, but a +general problem in a broad, general industry. Preservation materials are +useful for developing that market because of the qualities of the +material. For example, much of it is out of copyright. The resolution +of key issues such as the quality of scanning and image browsing also +will affect development of that market. + +The technology is readily available but changing rapidly. In this +context of rapid change, several factors affect quality and cost, to +which POB intends to pay particular attention, for example, the various +levels of resolution that can be achieved. POB believes it can bring +resolution up to 600 dpi, but an interpolation process from 400 to 600 is +more likely. The variation quality in microfilm will prove to be a +highly important factor. POB may reexamine the standards used to film in +the first place by looking at this process as a follow-on to microfilming. + +Other important factors include: the techniques available to the +operator for handling material, the ways of integrating quality control +into the digitizing work flow, and a work flow that includes indexing and +storage. POB's requirement was to be able to deal with quality control +at the point of scanning. Thus, thanks to Xerox, POB anticipates having +a mechanism which will allow it not only to scan in batch form, but to +review the material as it goes through the scanner and control quality +from the outset. + +The standards for measuring quality and costs depend greatly on the uses +of the material, including subsequent OCR, storage, printing, and +browsing. But especially at issue for POB is the facility for browsing. +This facility, WATERS said, is perhaps the weakest aspect of imaging +technology and the most in need of development. + +A variety of factors affect the usability of complex documents in image +form, among them: 1) the ability of the system to handle the full range +of document types, not just monographs but serials, multi-part +monographs, and manuscripts; 2) the location of the database of record +for bibliographic information about the image document, which POB wants +to enter once and in the most useful place, the on-line catalog; 3) a +document identifier for referencing the bibliographic information in one +place and the images in another; 4) the technique for making the basic +internal structure of the document accessible to the reader; and finally, +5) the physical presentation on the CRT of those documents. POB is ready +to complete this phase now. One last decision involves deciding which +material to scan. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * TIFF files constitute de facto standard * NARA's experience +with image conversion software and text conversion * RFC 1314 * +Considerable flux concerning available hardware and software solutions * +NAL through-put rate during scanning * Window management questions * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +In the question-and-answer period that followed WATERS's presentation, +the following points emerged: + + * ZIDAR's statement about using TIFF files as a standard meant de + facto standard. This is what most people use and typically exchange + with other groups, across platforms, or even occasionally across + display software. + + * HOLMES commented on the unsuccessful experience of NARA in + attempting to run image-conversion software or to exchange between + applications: What are supposedly TIFF files go into other software + that is supposed to be able to accept TIFF but cannot recognize the + format and cannot deal with it, and thus renders the exchange + useless. Re text conversion, he noted the different recognition + rates obtained by substituting the make and model of scanners in + NARA's recent test of an "intelligent" character-recognition product + for a new company. In the selection of hardware and software, + HOLMES argued, software no longer constitutes the overriding factor + it did until about a year ago; rather it is perhaps important to + look at both now. + + * Danny Cohen and Alan Katz of the University of Southern California + Information Sciences Institute began circulating as an Internet RFC + (RFC 1314) about a month ago a standard for a TIFF interchange + format for Internet distribution of monochrome bit-mapped images, + which LYNCH said he believed would be used as a de facto standard. + + * FLEISCHHAUER's impression from hearing these reports and thinking + about AM's experience was that there is considerable flux concerning + available hardware and software solutions. HOOTON agreed and + commented at the same time on ZIDAR's statement that the equipment + employed affects the results produced. One cannot draw a complete + conclusion by saying it is difficult or impossible to perform OCR + from scanning microfilm, for example, with that device, that set of + parameters, and system requirements, because numerous other people + are accomplishing just that, using other components, perhaps. + HOOTON opined that both the hardware and the software were highly + important. Most of the problems discussed today have been solved in + numerous different ways by other people. Though it is good to be + cognizant of various experiences, this is not to say that it will + always be thus. + + * At NAL, the through-put rate of the scanning process for paper, + page by page, performing OCR, ranges from 300 to 600 pages per day; + not performing OCR is considerably faster, although how much faster + is not known. This is for scanning from bound books, which is much + slower. + + * WATERS commented on window management questions: DEC proposed an + X-Windows solution which was problematical for two reasons. One was + POB's requirement to be able to manipulate images on the workstation + and bring them down to the workstation itself and the other was + network usage. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +THOMA * Illustration of deficiencies in scanning and storage process * +Image quality in this process * Different costs entailed by better image +quality * Techniques for overcoming various de-ficiencies: fixed +thresholding, dynamic thresholding, dithering, image merge * Page edge +effects * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +George THOMA, chief, Communications Engineering Branch, National Library +of Medicine (NLM), illustrated several of the deficiencies discussed by +the previous speakers. He introduced the topic of special problems by +noting the advantages of electronic imaging. For example, it is regenerable +because it is a coded file, and real-time quality control is possible with +electronic capture, whereas in photographic capture it is not. + +One of the difficulties discussed in the scanning and storage process was +image quality which, without belaboring the obvious, means different +things for maps, medical X-rays, or broadcast television. In the case of +documents, THOMA said, image quality boils down to legibility of the +textual parts, and fidelity in the case of gray or color photo print-type +material. Legibility boils down to scan density, the standard in most +cases being 300 dpi. Increasing the resolution with scanners that +perform 600 or 1200 dpi, however, comes at a cost. + +Better image quality entails at least four different kinds of costs: 1) +equipment costs, because the CCD (i.e., charge-couple device) with +greater number of elements costs more; 2) time costs that translate to +the actual capture costs, because manual labor is involved (the time is +also dependent on the fact that more data has to be moved around in the +machine in the scanning or network devices that perform the scanning as +well as the storage); 3) media costs, because at high resolutions larger +files have to be stored; and 4) transmission costs, because there is just +more data to be transmitted. + +But while resolution takes care of the issue of legibility in image +quality, other deficiencies have to do with contrast and elements on the +page scanned or the image that needed to be removed or clarified. Thus, +THOMA proceeded to illustrate various deficiencies, how they are +manifested, and several techniques to overcome them. + +Fixed thresholding was the first technique described, suitable for +black-and-white text, when the contrast does not vary over the page. One +can have many different threshold levels in scanning devices. Thus, +THOMA offered an example of extremely poor contrast, which resulted from +the fact that the stock was a heavy red. This is the sort of image that +when microfilmed fails to provide any legibility whatsoever. Fixed +thresholding is the way to change the black-to-red contrast to the +desired black-to-white contrast. + +Other examples included material that had been browned or yellowed by +age. This was also a case of contrast deficiency, and correction was +done by fixed thresholding. A final example boils down to the same +thing, slight variability, but it is not significant. Fixed thresholding +solves this problem as well. The microfilm equivalent is certainly legible, +but it comes with dark areas. Though THOMA did not have a slide of the +microfilm in this case, he did show the reproduced electronic image. + +When one has variable contrast over a page or the lighting over the page +area varies, especially in the case where a bound volume has light +shining on it, the image must be processed by a dynamic thresholding +scheme. One scheme, dynamic averaging, allows the threshold level not to +be fixed but to be recomputed for every pixel from the neighboring +characteristics. The neighbors of a pixel determine where the threshold +should be set for that pixel. + +THOMA showed an example of a page that had been made deficient by a +variety of techniques, including a burn mark, coffee stains, and a yellow +marker. Application of a fixed-thresholding scheme, THOMA argued, might +take care of several deficiencies on the page but not all of them. +Performing the calculation for a dynamic threshold setting, however, +removes most of the deficiencies so that at least the text is legible. + +Another problem is representing a gray level with black-and-white pixels +by a process known as dithering or electronic screening. But dithering +does not provide good image quality for pure black-and-white textual +material. THOMA illustrated this point with examples. Although its +suitability for photoprint is the reason for electronic screening or +dithering, it cannot be used for every compound image. In the document +that was distributed by CXP, THOMA noticed that the dithered image of the +IEEE test chart evinced some deterioration in the text. He presented an +extreme example of deterioration in the text in which compounded +documents had to be set right by other techniques. The technique +illustrated by the present example was an image merge in which the page +is scanned twice and the settings go from fixed threshold to the +dithering matrix; the resulting images are merged to give the best +results with each technique. + +THOMA illustrated how dithering is also used in nonphotographic or +nonprint materials with an example of a grayish page from a medical text, +which was reproduced to show all of the gray that appeared in the +original. Dithering provided a reproduction of all the gray in the +original of another example from the same text. + +THOMA finally illustrated the problem of bordering, or page-edge, +effects. Books and bound volumes that are placed on a photocopy machine +or a scanner produce page-edge effects that are undesirable for two +reasons: 1) the aesthetics of the image; after all, if the image is to +be preserved, one does not necessarily want to keep all of its +deficiencies; 2) compression (with the bordering problem THOMA +illustrated, the compression ratio deteriorated tremendously). One way +to eliminate this more serious problem is to have the operator at the +point of scanning window the part of the image that is desirable and +automatically turn all of the pixels out of that picture to white. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +FLEISCHHAUER * AM's experience with scanning bound materials * Dithering +* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Carl FLEISCHHAUER, coordinator, American Memory, Library of Congress, +reported AM's experience with scanning bound materials, which he likened +to the problems involved in using photocopying machines. Very few +devices in the industry offer book-edge scanning, let alone book cradles. +The problem may be unsolvable, FLEISCHHAUER said, because a large enough +market does not exist for a preservation-quality scanner. AM is using a +Kurzweil scanner, which is a book-edge scanner now sold by Xerox. + +Devoting the remainder of his brief presentation to dithering, +FLEISCHHAUER related AM's experience with a contractor who was using +unsophisticated equipment and software to reduce moire patterns from +printed halftones. AM took the same image and used the dithering +algorithm that forms part of the same Kurzweil Xerox scanner; it +disguised moire patterns much more effectively. + +FLEISCHHAUER also observed that dithering produces a binary file which is +useful for numerous purposes, for example, printing it on a laser printer +without having to "re-halftone" it. But it tends to defeat efficient +compression, because the very thing that dithers to reduce moire patterns +also tends to work against compression schemes. AM thought the +difference in image quality was worth it. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Relative use as a criterion for POB's selection of books to +be converted into digital form * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During the discussion period, WATERS noted that one of the criteria for +selecting books among the 10,000 to be converted into digital image form +would be how much relative use they would receive--a subject still +requiring evaluation. The challenge will be to understand whether +coherent bodies of material will increase usage or whether POB should +seek material that is being used, scan that, and make it more accessible. +POB might decide to digitize materials that are already heavily used, in +order to make them more accessible and decrease wear on them. Another +approach would be to provide a large body of intellectually coherent +material that may be used more in digital form than it is currently used +in microfilm. POB would seek material that was out of copyright. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +BARONAS * Origin and scope of AIIM * Types of documents produced in +AIIM's standards program * Domain of AIIM's standardization work * AIIM's +structure * TC 171 and MS23 * Electronic image management standards * +Categories of EIM standardization where AIIM standards are being +developed * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Jean BARONAS, senior manager, Department of Standards and Technology, +Association for Information and Image Management (AIIM), described the +not-for-profit association and the national and international programs +for standardization in which AIIM is active. + +Accredited for twenty-five years as the nation's standards development +organization for document image management, AIIM began life in a library +community developing microfilm standards. Today the association +maintains both its library and business-image management standardization +activities--and has moved into electronic image-management +standardization (EIM). + +BARONAS defined the program's scope. AIIM deals with: 1) the +terminology of standards and of the technology it uses; 2) methods of +measurement for the systems, as well as quality; 3) methodologies for +users to evaluate and measure quality; 4) the features of apparatus used +to manage and edit images; and 5) the procedures used to manage images. + +BARONAS noted that three types of documents are produced in the AIIM +standards program: the first two, accredited by the American National +Standards Institute (ANSI), are standards and standard recommended +practices. Recommended practices differ from standards in that they +contain more tutorial information. A technical report is not an ANSI +standard. Because AIIM's policies and procedures for developing +standards are approved by ANSI, its standards are labeled ANSI/AIIM, +followed by the number and title of the standard. + +BARONAS then illustrated the domain of AIIM's standardization work. For +example, AIIM is the administrator of the U.S. Technical Advisory Group +(TAG) to the International Standards Organization's (ISO) technical +committee, TC l7l Micrographics and Optical Memories for Document and +Image Recording, Storage, and Use. AIIM officially works through ANSI in +the international standardization process. + +BARONAS described AIIM's structure, including its board of directors, its +standards board of twelve individuals active in the image-management +industry, its strategic planning and legal admissibility task forces, and +its National Standards Council, which is comprised of the members of a +number of organizations who vote on every AIIM standard before it is +published. BARONAS pointed out that AIIM's liaisons deal with numerous +other standards developers, including the optical disk community, office +and publishing systems, image-codes-and-character set committees, and the +National Information Standards Organization (NISO). + +BARONAS illustrated the procedures of TC l7l, which covers all aspects of +image management. When AIIM's national program has conceptualized a new +project, it is usually submitted to the international level, so that the +member countries of TC l7l can simultaneously work on the development of +the standard or the technical report. BARONAS also illustrated a classic +microfilm standard, MS23, which deals with numerous imaging concepts that +apply to electronic imaging. Originally developed in the l970s, revised +in the l980s, and revised again in l991, this standard is scheduled for +another revision. MS23 is an active standard whereby users may propose +new density ranges and new methods of evaluating film images in the +standard's revision. + +BARONAS detailed several electronic image-management standards, for +instance, ANSI/AIIM MS44, a quality-control guideline for scanning 8.5" +by 11" black-and-white office documents. This standard is used with the +IEEE fax image--a continuous tone photographic image with gray scales, +text, and several continuous tone pictures--and AIIM test target number +2, a representative document used in office document management. + +BARONAS next outlined the four categories of EIM standardization in which +AIIM standards are being developed: transfer and retrieval, evaluation, +optical disc and document scanning applications, and design and +conversion of documents. She detailed several of the main projects of +each: 1) in the category of image transfer and retrieval, a bi-level +image transfer format, ANSI/AIIM MS53, which is a proposed standard that +describes a file header for image transfer between unlike systems when +the images are compressed using G3 and G4 compression; 2) the category of +image evaluation, which includes the AIIM-proposed TR26 tutorial on image +resolution (this technical report will treat the differences and +similarities between classical or photographic and electronic imaging); +3) design and conversion, which includes a proposed technical report +called "Forms Design Optimization for EIM" (this report considers how +general-purpose business forms can be best designed so that scanning is +optimized; reprographic characteristics such as type, rules, background, +tint, and color will likewise be treated in the technical report); 4) +disk and document scanning applications includes a project a) on planning +platters and disk management, b) on generating an application profile for +EIM when images are stored and distributed on CD-ROM, and c) on +evaluating SCSI2, and how a common command set can be generated for SCSI2 +so that document scanners are more easily integrated. (ANSI/AIIM MS53 +will also apply to compressed images.) + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +BATTIN * The implications of standards for preservation * A major +obstacle to successful cooperation * A hindrance to access in the digital +environment * Standards a double-edged sword for those concerned with the +preservation of the human record * Near-term prognosis for reliable +archival standards * Preservation concerns for electronic media * Need +for reconceptualizing our preservation principles * Standards in the real +world and the politics of reproduction * Need to redefine the concept of +archival and to begin to think in terms of life cycles * Cooperation and +the La Guardia Eight * Concerns generated by discussions on the problems +of preserving text and image * General principles to be adopted in a +world without standards * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Patricia BATTIN, president, the Commission on Preservation and Access +(CPA), addressed the implications of standards for preservation. She +listed several areas where the library profession and the analog world of +the printed book had made enormous contributions over the past hundred +years--for example, in bibliographic formats, binding standards, and, most +important, in determining what constitutes longevity or archival quality. + +Although standards have lightened the preservation burden through the +development of national and international collaborative programs, +nevertheless, a pervasive mistrust of other people's standards remains a +major obstacle to successful cooperation, BATTIN said. + +The zeal to achieve perfection, regardless of the cost, has hindered +rather than facilitated access in some instances, and in the digital +environment, where no real standards exist, has brought an ironically +just reward. + +BATTIN argued that standards are a double-edged sword for those concerned +with the preservation of the human record, that is, the provision of +access to recorded knowledge in a multitude of media as far into the +future as possible. Standards are essential to facilitate +interconnectivity and access, but, BATTIN said, as LYNCH pointed out +yesterday, if set too soon they can hinder creativity, expansion of +capability, and the broadening of access. The characteristics of +standards for digital imagery differ radically from those for analog +imagery. And the nature of digital technology implies continuing +volatility and change. To reiterate, precipitous standard-setting can +inhibit creativity, but delayed standard-setting results in chaos. + +Since in BATTIN'S opinion the near-term prognosis for reliable archival +standards, as defined by librarians in the analog world, is poor, two +alternatives remain: standing pat with the old technology, or +reconceptualizing. + +Preservation concerns for electronic media fall into two general domains. +One is the continuing assurance of access to knowledge originally +generated, stored, disseminated, and used in electronic form. This +domain contains several subdivisions, including 1) the closed, +proprietary systems discussed the previous day, bundled information such +as electronic journals and government agency records, and electronically +produced or captured raw data; and 2) the application of digital +technologies to the reformatting of materials originally published on a +deteriorating analog medium such as acid paper or videotape. + +The preservation of electronic media requires a reconceptualizing of our +preservation principles during a volatile, standardless transition which +may last far longer than any of us envision today. BATTIN urged the +necessity of shifting focus from assessing, measuring, and setting +standards for the permanence of the medium to the concept of managing +continuing access to information stored on a variety of media and +requiring a variety of ever-changing hardware and software for access--a +fundamental shift for the library profession. + +BATTIN offered a primer on how to move forward with reasonable confidence +in a world without standards. Her comments fell roughly into two sections: +1) standards in the real world and 2) the politics of reproduction. + +In regard to real-world standards, BATTIN argued the need to redefine the +concept of archive and to begin to think in terms of life cycles. In +the past, the naive assumption that paper would last forever produced a +cavalier attitude toward life cycles. The transient nature of the +electronic media has compelled people to recognize and accept upfront the +concept of life cycles in place of permanency. + +Digital standards have to be developed and set in a cooperative context +to ensure efficient exchange of information. Moreover, during this +transition period, greater flexibility concerning how concepts such as +backup copies and archival copies in the CXP are defined is necessary, +or the opportunity to move forward will be lost. + +In terms of cooperation, particularly in the university setting, BATTIN +also argued the need to avoid going off in a hundred different +directions. The CPA has catalyzed a small group of universities called +the La Guardia Eight--because La Guardia Airport is where meetings take +place--Harvard, Yale, Cornell, Princeton, Penn State, Tennessee, +Stanford, and USC, to develop a digital preservation consortium to look +at all these issues and develop de facto standards as we move along, +instead of waiting for something that is officially blessed. Continuing +to apply analog values and definitions of standards to the digital +environment, BATTIN said, will effectively lead to forfeiture of the +benefits of digital technology to research and scholarship. + +Under the second rubric, the politics of reproduction, BATTIN reiterated +an oft-made argument concerning the electronic library, namely, that it +is more difficult to transform than to create, and nowhere is that belief +expressed more dramatically than in the conversion of brittle books to +new media. Preserving information published in electronic media involves +making sure the information remains accessible and that digital +information is not lost through reproduction. In the analog world of +photocopies and microfilm, the issue of fidelity to the original becomes +paramount, as do issues of "Whose fidelity?" and "Whose original?" + +BATTIN elaborated these arguments with a few examples from a recent study +conducted by the CPA on the problems of preserving text and image. +Discussions with scholars, librarians, and curators in a variety of +disciplines dependent on text and image generated a variety of concerns, +for example: 1) Copy what is, not what the technology is capable of. +This is very important for the history of ideas. Scholars wish to know +what the author saw and worked from. And make available at the +workstation the opportunity to erase all the defects and enhance the +presentation. 2) The fidelity of reproduction--what is good enough, what +can we afford, and the difference it makes--issues of subjective versus +objective resolution. 3) The differences between primary and secondary +users. Restricting the definition of primary user to the one in whose +discipline the material has been published runs one headlong into the +reality that these printed books have had a host of other users from a +host of other disciplines, who not only were looking for very different +things, but who also shared values very different from those of the +primary user. 4) The relationship of the standard of reproduction to new +capabilities of scholarship--the browsing standard versus an archival +standard. How good must the archival standard be? Can a distinction be +drawn between potential users in setting standards for reproduction? +Archival storage, use copies, browsing copies--ought an attempt to set +standards even be made? 5) Finally, costs. How much are we prepared to +pay to capture absolute fidelity? What are the trade-offs between vastly +enhanced access, degrees of fidelity, and costs? + +These standards, BATTIN concluded, serve to complicate further the +reproduction process, and add to the long list of technical standards +that are necessary to ensure widespread access. Ways to articulate and +analyze the costs that are attached to the different levels of standards +must be found. + +Given the chaos concerning standards, which promises to linger for the +foreseeable future, BATTIN urged adoption of the following general +principles: + + * Strive to understand the changing information requirements of + scholarly disciplines as more and more technology is integrated into + the process of research and scholarly communication in order to meet + future scholarly needs, not to build for the past. Capture + deteriorating information at the highest affordable resolution, even + though the dissemination and display technologies will lag. + + * Develop cooperative mechanisms to foster agreement on protocols + for document structure and other interchange mechanisms necessary + for widespread dissemination and use before official standards are + set. + + * Accept that, in a transition period, de facto standards will have + to be developed. + + * Capture information in a way that keeps all options open and + provides for total convertibility: OCR, scanning of microfilm, + producing microfilm from scanned documents, etc. + + * Work closely with the generators of information and the builders + of networks and databases to ensure that continuing accessibility is + a primary concern from the beginning. + + * Piggyback on standards under development for the broad market, and + avoid library-specific standards; work with the vendors, in order to + take advantage of that which is being standardized for the rest of + the world. + + * Concentrate efforts on managing permanence in the digital world, + rather than perfecting the longevity of a particular medium. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Additional comments on TIFF * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During the brief discussion period that followed BATTIN's presentation, +BARONAS explained that TIFF was not developed in collaboration with or +under the auspices of AIIM. TIFF is a company product, not a standard, +is owned by two corporations, and is always changing. BARONAS also +observed that ANSI/AIIM MS53, a bi-level image file transfer format that +allows unlike systems to exchange images, is compatible with TIFF as well +as with DEC's architecture and IBM's MODCA/IOCA. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +HOOTON * Several questions to be considered in discussing text conversion +* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +HOOTON introduced the final topic, text conversion, by noting that it is +becoming an increasingly important part of the imaging business. Many +people now realize that it enhances their system to be able to have more +and more character data as part of their imaging system. Re the issue of +OCR versus rekeying, HOOTON posed several questions: How does one get +text into computer-readable form? Does one use automated processes? +Does one attempt to eliminate the use of operators where possible? +Standards for accuracy, he said, are extremely important: it makes a +major difference in cost and time whether one sets as a standard 98.5 +percent acceptance or 99.5 percent. He mentioned outsourcing as a +possibility for converting text. Finally, what one does with the image +to prepare it for the recognition process is also important, he said, +because such preparation changes how recognition is viewed, as well as +facilitates recognition itself. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +LESK * Roles of participants in CORE * Data flow * The scanning process * +The image interface * Results of experiments involving the use of +electronic resources and traditional paper copies * Testing the issue of +serendipity * Conclusions * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Michael LESK, executive director, Computer Science Research, Bell +Communications Research, Inc. (Bellcore), discussed the Chemical Online +Retrieval Experiment (CORE), a cooperative project involving Cornell +University, OCLC, Bellcore, and the American Chemical Society (ACS). + +LESK spoke on 1) how the scanning was performed, including the unusual +feature of page segmentation, and 2) the use made of the text and the +image in experiments. + +Working with the chemistry journals (because ACS has been saving its +typesetting tapes since the mid-1970s and thus has a significant back-run +of the most important chemistry journals in the United States), CORE is +attempting to create an automated chemical library. Approximately a +quarter of the pages by square inch are made up of images of +quasi-pictorial material; dealing with the graphic components of the +pages is extremely important. LESK described the roles of participants +in CORE: 1) ACS provides copyright permission, journals on paper, +journals on microfilm, and some of the definitions of the files; 2) at +Bellcore, LESK chiefly performs the data preparation, while Dennis Egan +performs experiments on the users of chemical abstracts, and supplies the +indexing and numerous magnetic tapes; 3) Cornell provides the site of the +experiment; 4) OCLC develops retrieval software and other user interfaces. +Various manufacturers and publishers have furnished other help. + +Concerning data flow, Bellcore receives microfilm and paper from ACS; the +microfilm is scanned by outside vendors, while the paper is scanned +inhouse on an Improvision scanner, twenty pages per minute at 300 dpi, +which provides sufficient quality for all practical uses. LESK would +prefer to have more gray level, because one of the ACS journals prints on +some colored pages, which creates a problem. + +Bellcore performs all this scanning, creates a page-image file, and also +selects from the pages the graphics, to mix with the text file (which is +discussed later in the Workshop). The user is always searching the ASCII +file, but she or he may see a display based on the ASCII or a display +based on the images. + +LESK illustrated how the program performs page analysis, and the image +interface. (The user types several words, is presented with a list-- +usually of the titles of articles contained in an issue--that derives +from the ASCII, clicks on an icon and receives an image that mirrors an +ACS page.) LESK also illustrated an alternative interface, based on text +on the ASCII, the so-called SuperBook interface from Bellcore. + +LESK next presented the results of an experiment conducted by Dennis Egan +and involving thirty-six students at Cornell, one third of them +undergraduate chemistry majors, one third senior undergraduate chemistry +majors, and one third graduate chemistry students. A third of them +received the paper journals, the traditional paper copies and chemical +abstracts on paper. A third received image displays of the pictures of +the pages, and a third received the text display with pop-up graphics. + +The students were given several questions made up by some chemistry +professors. The questions fell into five classes, ranging from very easy +to very difficult, and included questions designed to simulate browsing +as well as a traditional information retrieval-type task. + +LESK furnished the following results. In the straightforward question +search--the question being, what is the phosphorus oxygen bond distance +and hydroxy phosphate?--the students were told that they could take +fifteen minutes and, then, if they wished, give up. The students with +paper took more than fifteen minutes on average, and yet most of them +gave up. The students with either electronic format, text or image, +received good scores in reasonable time, hardly ever had to give up, and +usually found the right answer. + +In the browsing study, the students were given a list of eight topics, +told to imagine that an issue of the Journal of the American Chemical +Society had just appeared on their desks, and were also told to flip +through it and to find topics mentioned in the issue. The average scores +were about the same. (The students were told to answer yes or no about +whether or not particular topics appeared.) The errors, however, were +quite different. The students with paper rarely said that something +appeared when it had not. But they often failed to find something +actually mentioned in the issue. The computer people found numerous +things, but they also frequently said that a topic was mentioned when it +was not. (The reason, of course, was that they were performing word +searches. They were finding that words were mentioned and they were +concluding that they had accomplished their task.) + +This question also contained a trick to test the issue of serendipity. +The students were given another list of eight topics and instructed, +without taking a second look at the journal, to recall how many of this +new list of eight topics were in this particular issue. This was an +attempt to see if they performed better at remembering what they were not +looking for. They all performed about the same, paper or electronics, +about 62 percent accurate. In short, LESK said, people were not very +good when it came to serendipity, but they were no worse at it with +computers than they were with paper. + +(LESK gave a parenthetical illustration of the learning curve of students +who used SuperBook.) + +The students using the electronic systems started off worse than the ones +using print, but by the third of the three sessions in the series had +caught up to print. As one might expect, electronics provide a much +better means of finding what one wants to read; reading speeds, once the +object of the search has been found, are about the same. + +Almost none of the students could perform the hard task--the analogous +transformation. (It would require the expertise of organic chemists to +complete.) But an interesting result was that the students using the text +search performed terribly, while those using the image system did best. +That the text search system is driven by text offers the explanation. +Everything is focused on the text; to see the pictures, one must press +on an icon. Many students found the right article containing the answer +to the question, but they did not click on the icon to bring up the right +figure and see it. They did not know that they had found the right place, +and thus got it wrong. + +The short answer demonstrated by this experiment was that in the event +one does not know what to read, one needs the electronic systems; the +electronic systems hold no advantage at the moment if one knows what to +read, but neither do they impose a penalty. + +LESK concluded by commenting that, on one hand, the image system was easy +to use. On the other hand, the text display system, which represented +twenty man-years of work in programming and polishing, was not winning, +because the text was not being read, just searched. The much easier +system is highly competitive as well as remarkably effective for the +actual chemists. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +ERWAY * Most challenging aspect of working on AM * Assumptions guiding +AM's approach * Testing different types of service bureaus * AM's +requirement for 99.95 percent accuracy * Requirements for text-coding * +Additional factors influencing AM's approach to coding * Results of AM's +experience with rekeying * Other problems in dealing with service bureaus +* Quality control the most time-consuming aspect of contracting out +conversion * Long-term outlook uncertain * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +To Ricky ERWAY, associate coordinator, American Memory, Library of +Congress, the constant variety of conversion projects taking place +simultaneously represented perhaps the most challenging aspect of working +on AM. Thus, the challenge was not to find a solution for text +conversion but a tool kit of solutions to apply to LC's varied +collections that need to be converted. ERWAY limited her remarks to the +process of converting text to machine-readable form, and the variety of +LC's text collections, for example, bound volumes, microfilm, and +handwritten manuscripts. + +Two assumptions have guided AM's approach, ERWAY said: 1) A desire not +to perform the conversion inhouse. Because of the variety of formats and +types of texts, to capitalize the equipment and have the talents and +skills to operate them at LC would be extremely expensive. Further, the +natural inclination to upgrade to newer and better equipment each year +made it reasonable for AM to focus on what it did best and seek external +conversion services. Using service bureaus also allowed AM to have +several types of operations take place at the same time. 2) AM was not a +technology project, but an effort to improve access to library +collections. Hence, whether text was converted using OCR or rekeying +mattered little to AM. What mattered were cost and accuracy of results. + +AM considered different types of service bureaus and selected three to +perform several small tests in order to acquire a sense of the field. +The sample collections with which they worked included handwritten +correspondence, typewritten manuscripts from the 1940s, and +eighteenth-century printed broadsides on microfilm. On none of these +samples was OCR performed; they were all rekeyed. AM had several special +requirements for the three service bureaus it had engaged. For instance, +any errors in the original text were to be retained. Working from bound +volumes or anything that could not be sheet-fed also constituted a factor +eliminating companies that would have performed OCR. + +AM requires 99.95 percent accuracy, which, though it sounds high, often +means one or two errors per page. The initial batch of test samples +contained several handwritten materials for which AM did not require +text-coding. The results, ERWAY reported, were in all cases fairly +comparable: for the most part, all three service bureaus achieved 99.95 +percent accuracy. AM was satisfied with the work but surprised at the cost. + +As AM began converting whole collections, it retained the requirement for +99.95 percent accuracy and added requirements for text-coding. AM needed +to begin performing work more than three years ago before LC requirements +for SGML applications had been established. Since AM's goal was simply +to retain any of the intellectual content represented by the formatting +of the document (which would be lost if one performed a straight ASCII +conversion), AM used "SGML-like" codes. These codes resembled SGML tags +but were used without the benefit of document-type definitions. AM found +that many service bureaus were not yet SGML-proficient. + +Additional factors influencing the approach AM took with respect to +coding included: 1) the inability of any known microcomputer-based +user-retrieval software to take advantage of SGML coding; and 2) the +multiple inconsistencies in format of the older documents, which +confirmed AM in its desire not to attempt to force the different formats +to conform to a single document-type definition (DTD) and thus create the +need for a separate DTD for each document. + +The five text collections that AM has converted or is in the process of +converting include a collection of eighteenth-century broadsides, a +collection of pamphlets, two typescript document collections, and a +collection of 150 books. + +ERWAY next reviewed the results of AM's experience with rekeying, noting +again that because the bulk of AM's materials are historical, the quality +of the text often does not lend itself to OCR. While non-English +speakers are less likely to guess or elaborate or correct typos in the +original text, they are also less able to infer what we would; they also +are nearly incapable of converting handwritten text. Another +disadvantage of working with overseas keyers is that they are much less +likely to telephone with questions, especially on the coding, with the +result that they develop their own rules as they encounter new +situations. + +Government contracting procedures and time frames posed a major challenge +to performing the conversion. Many service bureaus are not accustomed to +retaining the image, even if they perform OCR. Thus, questions of image +format and storage media were somewhat novel to many of them. ERWAY also +remarked other problems in dealing with service bureaus, for example, +their inability to perform text conversion from the kind of microfilm +that LC uses for preservation purposes. + +But quality control, in ERWAY's experience, was the most time-consuming +aspect of contracting out conversion. AM has been attempting to perform +a 10-percent quality review, looking at either every tenth document or +every tenth page to make certain that the service bureaus are maintaining +99.95 percent accuracy. But even if they are complying with the +requirement for accuracy, finding errors produces a desire to correct +them and, in turn, to clean up the whole collection, which defeats the +purpose to some extent. Even a double entry requires a +character-by-character comparison to the original to meet the accuracy +requirement. LC is not accustomed to publish imperfect texts, which +makes attempting to deal with the industry standard an emotionally +fraught issue for AM. As was mentioned in the previous day's discussion, +going from 99.95 to 99.99 percent accuracy usually doubles costs and +means a third keying or another complete run-through of the text. + +Although AM has learned much from its experiences with various collections +and various service bureaus, ERWAY concluded pessimistically that no +breakthrough has been achieved. Incremental improvements have occurred +in some of the OCR technology, some of the processes, and some of the +standards acceptances, which, though they may lead to somewhat lower costs, +do not offer much encouragement to many people who are anxiously awaiting +the day that the entire contents of LC are available on-line. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +ZIDAR * Several answers to why one attempts to perform full-text +conversion * Per page cost of performing OCR * Typical problems +encountered during editing * Editing poor copy OCR vs. rekeying * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Judith ZIDAR, coordinator, National Agricultural Text Digitizing Program +(NATDP), National Agricultural Library (NAL), offered several answers to +the question of why one attempts to perform full-text conversion: 1) +Text in an image can be read by a human but not by a computer, so of +course it is not searchable and there is not much one can do with it. 2) +Some material simply requires word-level access. For instance, the legal +profession insists on full-text access to its material; with taxonomic or +geographic material, which entails numerous names, one virtually requires +word-level access. 3) Full text permits rapid browsing and searching, +something that cannot be achieved in an image with today's technology. +4) Text stored as ASCII and delivered in ASCII is standardized and highly +portable. 5) People just want full-text searching, even those who do not +know how to do it. NAL, for the most part, is performing OCR at an +actual cost per average-size page of approximately $7. NAL scans the +page to create the electronic image and passes it through the OCR device. + +ZIDAR next rehearsed several typical problems encountered during editing. +Praising the celerity of her student workers, ZIDAR observed that editing +requires approximately five to ten minutes per page, assuming that there +are no large tables to audit. Confusion among the three characters I, 1, +and l, constitutes perhaps the most common problem encountered. Zeroes +and O's also are frequently confused. Double M's create a particular +problem, even on clean pages. They are so wide in most fonts that they +touch, and the system simply cannot tell where one letter ends and the +other begins. Complex page formats occasionally fail to columnate +properly, which entails rescanning as though one were working with a +single column, entering the ASCII, and decolumnating for better +searching. With proportionally spaced text, OCR can have difficulty +discerning what is a space and what are merely spaces between letters, as +opposed to spaces between words, and therefore will merge text or break +up words where it should not. + +ZIDAR said that it can often take longer to edit a poor-copy OCR than to +key it from scratch. NAL has also experimented with partial editing of +text, whereby project workers go into and clean up the format, removing +stray characters but not running a spell-check. NAL corrects typos in +the title and authors' names, which provides a foothold for searching and +browsing. Even extremely poor-quality OCR (e.g., 60-percent accuracy) +can still be searched, because numerous words are correct, while the +important words are probably repeated often enough that they are likely +to be found correct somewhere. Librarians, however, cannot tolerate this +situation, though end users seem more willing to use this text for +searching, provided that NAL indicates that it is unedited. ZIDAR +concluded that rekeying of text may be the best route to take, in spite +of numerous problems with quality control and cost. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Modifying an image before performing OCR * NAL's costs per +page *AM's costs per page and experience with Federal Prison Industries * +Elements comprising NATDP's costs per page * OCR and structured markup * +Distinction between the structure of a document and its representation +when put on the screen or printed * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +HOOTON prefaced the lengthy discussion that followed with several +comments about modifying an image before one reaches the point of +performing OCR. For example, in regard to an application containing a +significant amount of redundant data, such as form-type data, numerous +companies today are working on various kinds of form renewal, prior to +going through a recognition process, by using dropout colors. Thus, +acquiring access to form design or using electronic means are worth +considering. HOOTON also noted that conversion usually makes or breaks +one's imaging system. It is extremely important, extremely costly in +terms of either capital investment or service, and determines the quality +of the remainder of one's system, because it determines the character of +the raw material used by the system. + +Concerning the four projects undertaken by NAL, two inside and two +performed by outside contractors, ZIDAR revealed that an in-house service +bureau executed the first at a cost between $8 and $10 per page for +everything, including building of the database. The project undertaken +by the Consultative Group on International Agricultural Research (CGIAR) +cost approximately $10 per page for the conversion, plus some expenses +for the software and building of the database. The Acid Rain Project--a +two-disk set produced by the University of Vermont, consisting of +Canadian publications on acid rain--cost $6.70 per page for everything, +including keying of the text, which was double keyed, scanning of the +images, and building of the database. The in-house project offered +considerable ease of convenience and greater control of the process. On +the other hand, the service bureaus know their job and perform it +expeditiously, because they have more people. + +As a useful comparison, ERWAY revealed AM's costs as follows: $0.75 +cents to $0.85 cents per thousand characters, with an average page +containing 2,700 characters. Requirements for coding and imaging +increase the costs. Thus, conversion of the text, including the coding, +costs approximately $3 per page. (This figure does not include the +imaging and database-building included in the NAL costs.) AM also +enjoyed a happy experience with Federal Prison Industries, which +precluded the necessity of going through the request-for-proposal process +to award a contract, because it is another government agency. The +prisoners performed AM's rekeying just as well as other service bureaus +and proved handy as well. AM shipped them the books, which they would +photocopy on a book-edge scanner. They would perform the markup on +photocopies, return the books as soon as they were done with them, +perform the keying, and return the material to AM on WORM disks. + +ZIDAR detailed the elements that constitute the previously noted cost of +approximately $7 per page. Most significant is the editing, correction +of errors, and spell-checkings, which though they may sound easy to +perform require, in fact, a great deal of time. Reformatting text also +takes a while, but a significant amount of NAL's expenses are for equipment, +which was extremely expensive when purchased because it was one of the few +systems on the market. The costs of equipment are being amortized over +five years but are still quite high, nearly $2,000 per month. + +HOCKEY raised a general question concerning OCR and the amount of editing +required (substantial in her experience) to generate the kind of +structured markup necessary for manipulating the text on the computer or +loading it into any retrieval system. She wondered if the speakers could +extend the previous question about the cost-benefit of adding or exerting +structured markup. ERWAY noted that several OCR systems retain italics, +bolding, and other spatial formatting. While the material may not be in +the format desired, these systems possess the ability to remove the +original materials quickly from the hands of the people performing the +conversion, as well as to retain that information so that users can work +with it. HOCKEY rejoined that the current thinking on markup is that one +should not say that something is italic or bold so much as why it is that +way. To be sure, one needs to know that something was italicized, but +how can one get from one to the other? One can map from the structure to +the typographic representation. + +FLEISCHHAUER suggested that, given the 100 million items the Library +holds, it may not be possible for LC to do more than report that a thing +was in italics as opposed to why it was italics, although that may be +desirable in some contexts. Promising to talk a bit during the afternoon +session about several experiments OCLC performed on automatic recognition +of document elements, and which they hoped to extend, WEIBEL said that in +fact one can recognize the major elements of a document with a fairly +high degree of reliability, at least as good as OCR. STEVENS drew a +useful distinction between standard, generalized markup (i.e., defining +for a document-type definition the structure of the document), and what +he termed a style sheet, which had to do with italics, bolding, and other +forms of emphasis. Thus, two different components are at work, one being +the structure of the document itself (its logic), and the other being its +representation when it is put on the screen or printed. + + ****** + +SESSION V. APPROACHES TO PREPARING ELECTRONIC TEXTS + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +HOCKEY * Text in ASCII and the representation of electronic text versus +an image * The need to look at ways of using markup to assist retrieval * +The need for an encoding format that will be reusable and multifunctional ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Susan HOCKEY, director, Center for Electronic Texts in the Humanities +(CETH), Rutgers and Princeton Universities, announced that one talk +(WEIBEL's) was moved into this session from the morning and that David +Packard was unable to attend. The session would attempt to focus more on +what one can do with a text in ASCII and the representation of electronic +text rather than just an image, what one can do with a computer that +cannot be done with a book or an image. It would be argued that one can +do much more than just read a text, and from that starting point one can +use markup and methods of preparing the text to take full advantage of +the capability of the computer. That would lead to a discussion of what +the European Community calls REUSABILITY, what may better be termed +DURABILITY, that is, how to prepare or make a text that will last a long +time and that can be used for as many applications as possible, which +would lead to issues of improving intellectual access. + +HOCKEY urged the need to look at ways of using markup to facilitate retrieval, +not just for referencing or to help locate an item that is retrieved, but also to put markup tags in +a text to help retrieve the thing sought either with linguistic tagging or +interpretation. HOCKEY also argued that little advancement had occurred in +the software tools currently available for retrieving and searching text. +She pressed the desideratum of going beyond Boolean searches and performing +more sophisticated searching, which the insertion of more markup in the text +would facilitate. Thinking about electronic texts as opposed to images means +considering material that will never appear in print form, or print will not +be its primary form, that is, material which only appears in electronic form. +HOCKEY alluded to the history and the need for markup and tagging and +electronic text, which was developed through the use of computers in the +humanities; as MICHELSON had observed, Father Busa had started in 1949 +to prepare the first-ever text on the computer. + +HOCKEY remarked several large projects, particularly in Europe, for the +compilation of dictionaries, language studies, and language analysis, in +which people have built up archives of text and have begun to recognize +the need for an encoding format that will be reusable and multifunctional, +that can be used not just to print the text, which may be assumed to be a +byproduct of what one wants to do, but to structure it inside the computer +so that it can be searched, built into a Hypertext system, etc. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +WEIBEL * OCLC's approach to preparing electronic text: retroconversion, +keying of texts, more automated ways of developing data * Project ADAPT +and the CORE Project * Intelligent character recognition does not exist * +Advantages of SGML * Data should be free of procedural markup; +descriptive markup strongly advocated * OCLC's interface illustrated * +Storage requirements and costs for putting a lot of information on line * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Stuart WEIBEL, senior research scientist, Online Computer Library Center, +Inc. (OCLC), described OCLC's approach to preparing electronic text. He +argued that the electronic world into which we are moving must +accommodate not only the future but the past as well, and to some degree +even the present. Thus, starting out at one end with retroconversion and +keying of texts, one would like to move toward much more automated ways +of developing data. + +For example, Project ADAPT had to do with automatically converting +document images into a structured document database with OCR text as +indexing and also a little bit of automatic formatting and tagging of +that text. The CORE project hosted by Cornell University, Bellcore, +OCLC, the American Chemical Society, and Chemical Abstracts, constitutes +WEIBEL's principal concern at the moment. This project is an example of +converting text for which one already has a machine-readable version into +a format more suitable for electronic delivery and database searching. +(Since Michael LESK had previously described CORE, WEIBEL would say +little concerning it.) Borrowing a chemical phrase, de novo synthesis, +WEIBEL cited the Online Journal of Current Clinical Trials as an example +of de novo electronic publishing, that is, a form in which the primary +form of the information is electronic. + +Project ADAPT, then, which OCLC completed a couple of years ago and in +fact is about to resume, is a model in which one takes page images either +in paper or microfilm and converts them automatically to a searchable +electronic database, either on-line or local. The operating assumption +is that accepting some blemishes in the data, especially for +retroconversion of materials, will make it possible to accomplish more. +Not enough money is available to support perfect conversion. + +WEIBEL related several steps taken to perform image preprocessing +(processing on the image before performing optical character +recognition), as well as image postprocessing. He denied the existence +of intelligent character recognition and asserted that what is wanted is +page recognition, which is a long way off. OCLC has experimented with +merging of multiple optical character recognition systems that will +reduce errors from an unacceptable rate of 5 characters out of every +l,000 to an unacceptable rate of 2 characters out of every l,000, but it +is not good enough. It will never be perfect. + +Concerning the CORE Project, WEIBEL observed that Bellcore is taking the +topography files, extracting the page images, and converting those +topography files to SGML markup. LESK hands that data off to OCLC, which +builds that data into a Newton database, the same system that underlies +the on-line system in virtually all of the reference products at OCLC. +The long-term goal is to make the systems interoperable so that not just +Bellcore's system and OCLC's system can access this data, but other +systems can as well, and the key to that is the Z39.50 common command +language and the full-text extension. Z39.50 is fine for MARC records, +but is not enough to do it for full text (that is, make full texts +interoperable). + +WEIBEL next outlined the critical role of SGML for a variety of purposes, +for example, as noted by HOCKEY, in the world of extremely large +databases, using highly structured data to perform field searches. +WEIBEL argued that by building the structure of the data in (i.e., the +structure of the data originally on a printed page), it becomes easy to +look at a journal article even if one cannot read the characters and know +where the title or author is, or what the sections of that document would be. +OCLC wants to make that structure explicit in the database, because it will +be important for retrieval purposes. + +The second big advantage of SGML is that it gives one the ability to +build structure into the database that can be used for display purposes +without contaminating the data with instructions about how to format +things. The distinction lies between procedural markup, which tells one +where to put dots on the page, and descriptive markup, which describes +the elements of a document. + +WEIBEL believes that there should be no procedural markup in the data at +all, that the data should be completely unsullied by information about +italics or boldness. That should be left up to the display device, +whether that display device is a page printer or a screen display device. +By keeping one's database free of that kind of contamination, one can +make decisions down the road, for example, reorganize the data in ways +that are not cramped by built-in notions of what should be italic and +what should be bold. WEIBEL strongly advocated descriptive markup. As +an example, he illustrated the index structure in the CORE data. With +subsequent illustrated examples of markup, WEIBEL acknowledged the common +complaint that SGML is hard to read in its native form, although markup +decreases considerably once one gets into the body. Without the markup, +however, one would not have the structure in the data. One can pass +markup through a LaTeX processor and convert it relatively easily to a +printed version of the document. + +WEIBEL next illustrated an extremely cluttered screen dump of OCLC's +system, in order to show as much as possible the inherent capability on +the screen. (He noted parenthetically that he had become a supporter of +X-Windows as a result of the progress of the CORE Project.) WEIBEL also +illustrated the two major parts of the interface: l) a control box that +allows one to generate lists of items, which resembles a small table of +contents based on key words one wishes to search, and 2) a document +viewer, which is a separate process in and of itself. He demonstrated +how to follow links through the electronic database simply by selecting +the appropriate button and bringing them up. He also noted problems that +remain to be accommodated in the interface (e.g., as pointed out by LESK, +what happens when users do not click on the icon for the figure). + +Given the constraints of time, WEIBEL omitted a large number of ancillary +items in order to say a few words concerning storage requirements and +what will be required to put a lot of things on line. Since it is +extremely expensive to reconvert all of this data, especially if it is +just in paper form (and even if it is in electronic form in typesetting +tapes), he advocated building journals electronically from the start. In +that case, if one only has text graphics and indexing (which is all that +one needs with de novo electronic publishing, because there is no need to +go back and look at bit-maps of pages), one can get 10,000 journals of +full text, or almost 6 million pages per year. These pages can be put in +approximately 135 gigabytes of storage, which is not all that much, +WEIBEL said. For twenty years, something less than three terabytes would +be required. WEIBEL calculated the costs of storing this information as +follows: If a gigabyte costs approximately $1,000, then a terabyte costs +approximately $1 million to buy in terms of hardware. One also needs a +building to put it in and a staff like OCLC to handle that information. +So, to support a terabyte, multiply by five, which gives $5 million per +year for a supported terabyte of data. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Tapes saved by ACS are the typography files originally +supporting publication of the journal * Cost of building tagged text into +the database * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During the question-and-answer period that followed WEIBEL's +presentation, these clarifications emerged. The tapes saved by the +American Chemical Society are the typography files that originally +supported the publication of the journal. Although they are not tagged +in SGML, they are tagged in very fine detail. Every single sentence is +marked, all the registry numbers, all the publications issues, dates, and +volumes. No cost figures on tagging material on a per-megabyte basis +were available. Because ACS's typesetting system runs from tagged text, +there is no extra cost per article. It was unknown what it costs ACS to +keyboard the tagged text rather than just keyboard the text in the +cheapest process. In other words, since one intends to publish things +and will need to build tagged text into a typography system in any case, +if one does that in such a way that it can drive not only typography but +an electronic system (which is what ACS intends to do--move to SGML +publishing), the marginal cost is zero. The marginal cost represents the +cost of building tagged text into the database, which is small. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +SPERBERG-McQUEEN * Distinction between texts and computers * Implications +of recognizing that all representation is encoding * Dealing with +complicated representations of text entails the need for a grammar of +documents * Variety of forms of formal grammars * Text as a bit-mapped +image does not represent a serious attempt to represent text in +electronic form * SGML, the TEI, document-type declarations, and the +reusability and longevity of data * TEI conformance explicitly allows +extension or modification of the TEI tag set * Administrative background +of the TEI * Several design goals for the TEI tag set * An absolutely +fixed requirement of the TEI Guidelines * Challenges the TEI has +attempted to face * Good texts not beyond economic feasibility * The +issue of reproducibility or processability * The issue of mages as +simulacra for the text redux * One's model of text determines what one's +software can do with a text and has economic consequences * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Prior to speaking about SGML and markup, Michael SPERBERG-McQUEEN, editor, +Text Encoding Initiative (TEI), University of Illinois-Chicago, first drew +a distinction between texts and computers: Texts are abstract cultural +and linguistic objects while computers are complicated physical devices, +he said. Abstract objects cannot be placed inside physical devices; with +computers one can only represent text and act upon those representations. + +The recognition that all representation is encoding, SPERBERG-McQUEEN +argued, leads to the recognition of two things: 1) The topic description +for this session is slightly misleading, because there can be no discussion +of pros and cons of text-coding unless what one means is pros and cons of +working with text with computers. 2) No text can be represented in a +computer without some sort of encoding; images are one way of encoding text, +ASCII is another, SGML yet another. There is no encoding without some +information loss, that is, there is no perfect reproduction of a text that +allows one to do away with the original. Thus, the question becomes, +What is the most useful representation of text for a serious work? +This depends on what kind of serious work one is talking about. + +The projects demonstrated the previous day all involved highly complex +information and fairly complex manipulation of the textual material. +In order to use that complicated information, one has to calculate it +slowly or manually and store the result. It needs to be stored, therefore, +as part of one's representation of the text. Thus, one needs to store the +structure in the text. To deal with complicated representations of text, +one needs somehow to control the complexity of the representation of a text; +that means one needs a way of finding out whether a document and an +electronic representation of a document is legal or not; and that +means one needs a grammar of documents. + +SPERBERG-McQUEEN discussed the variety of forms of formal grammars, +implicit and explicit, as applied to text, and their capabilities. He +argued that these grammars correspond to different models of text that +different developers have. For example, one implicit model of the text +is that there is no internal structure, but just one thing after another, +a few characters and then perhaps a start-title command, and then a few +more characters and an end-title command. SPERBERG-McQUEEN also +distinguished several kinds of text that have a sort of hierarchical +structure that is not very well defined, which, typically, corresponds +to grammars that are not very well defined, as well as hierarchies that +are very well defined (e.g., the Thesaurus Linguae Graecae) and extremely +complicated things such as SGML, which handle strictly hierarchical data +very nicely. + +SPERBERG-McQUEEN conceded that one other model not illustrated on his two +displays was the model of text as a bit-mapped image, an image of a page, +and confessed to having been converted to a limited extent by the +Workshop to the view that electronic images constitute a promising, +probably superior alternative to microfilming. But he was not convinced +that electronic images represent a serious attempt to represent text in +electronic form. Many of their problems stem from the fact that they are +not direct attempts to represent the text but attempts to represent the +page, thus making them representations of representations. + +In this situation of increasingly complicated textual information and the +need to control that complexity in a useful way (which begs the question +of the need for good textual grammars), one has the introduction of SGML. +With SGML, one can develop specific document-type declarations +for specific text types or, as with the TEI, attempts to generate +general document-type declarations that can handle all sorts of text. +The TEI is an attempt to develop formats for text representation that +will ensure the kind of reusability and longevity of data discussed earlier. +It offers a way to stay alive in the state of permanent technological +revolution. + +It has been a continuing challenge in the TEI to create document grammars +that do some work in controlling the complexity of the textual object but +also allowing one to represent the real text that one will find. +Fundamental to the notion of the TEI is that TEI conformance allows one +the ability to extend or modify the TEI tag set so that it fits the text +that one is attempting to represent. + +SPERBERG-McQUEEN next outlined the administrative background of the TEI. +The TEI is an international project to develop and disseminate guidelines +for the encoding and interchange of machine-readable text. It is +sponsored by the Association for Computers in the Humanities, the +Association for Computational Linguistics, and the Association for +Literary and Linguistic Computing. Representatives of numerous other +professional societies sit on its advisory board. The TEI has a number +of affiliated projects that have provided assistance by testing drafts of +the guidelines. + +Among the design goals for the TEI tag set, the scheme first of all must +meet the needs of research, because the TEI came out of the research +community, which did not feel adequately served by existing tag sets. +The tag set must be extensive as well as compatible with existing and +emerging standards. In 1990, version 1.0 of the Guidelines was released +(SPERBERG-McQUEEN illustrated their contents). + +SPERBERG-McQUEEN noted that one problem besetting electronic text has +been the lack of adequate internal or external documentation for many +existing electronic texts. The TEI guidelines as currently formulated +contain few fixed requirements, but one of them is this: There must +always be a document header, an in-file SGML tag that provides +1) a bibliographic description of the electronic object one is talking +about (that is, who included it, when, what for, and under which title); +and 2) the copy text from which it was derived, if any. If there was +no copy text or if the copy text is unknown, then one states as much. +Version 2.0 of the Guidelines was scheduled to be completed in fall 1992 +and a revised third version is to be presented to the TEI advisory board +for its endorsement this coming winter. The TEI itself exists to provide +a markup language, not a marked-up text. + +Among the challenges the TEI has attempted to face is the need for a +markup language that will work for existing projects, that is, handle the +level of markup that people are using now to tag only chapter, section, +and paragraph divisions and not much else. At the same time, such a +language also will be able to scale up gracefully to handle the highly +detailed markup which many people foresee as the future destination of +much electronic text, and which is not the future destination but the +present home of numerous electronic texts in specialized areas. + +SPERBERG-McQUEEN dismissed the lowest-common-denominator approach as +unable to support the kind of applications that draw people who have +never been in the public library regularly before, and make them come +back. He advocated more interesting text and more intelligent text. +Asserting that it is not beyond economic feasibility to have good texts, +SPERBERG-McQUEEN noted that the TEI Guidelines listing 200-odd tags +contains tags that one is expected to enter every time the relevant +textual feature occurs. It contains all the tags that people need now, +and it is not expected that everyone will tag things in the same way. + +The question of how people will tag the text is in large part a function +of their reaction to what SPERBERG-McQUEEN termed the issue of +reproducibility. What one needs to be able to reproduce are the things +one wants to work with. Perhaps a more useful concept than that of +reproducibility or recoverability is that of processability, that is, +what can one get from an electronic text without reading it again +in the original. He illustrated this contention with a page from +Jan Comenius's bilingual Introduction to Latin. + +SPERBERG-McQUEEN returned at length to the issue of images as simulacra +for the text, in order to reiterate his belief that in the long run more +than images of pages of particular editions of the text are needed, +because just as second-generation photocopies and second-generation +microfilm degenerate, so second-generation representations tend to +degenerate, and one tends to overstress some relatively trivial aspects +of the text such as its layout on the page, which is not always +significant, despite what the text critics might say, and slight other +pieces of information such as the very important lexical ties between the +English and Latin versions of Comenius's bilingual text, for example. +Moreover, in many crucial respects it is easy to fool oneself concerning +what a scanned image of the text will accomplish. For example, in order +to study the transmission of texts, information concerning the text +carrier is necessary, which scanned images simply do not always handle. +Further, even the high-quality materials being produced at Cornell use +much of the information that one would need if studying those books as +physical objects. It is a choice that has been made. It is an arguably +justifiable choice, but one does not know what color those pen strokes in +the margin are or whether there was a stain on the page, because it has +been filtered out. One does not know whether there were rips in the page +because they do not show up, and on a couple of the marginal marks one +loses half of the mark because the pen is very light and the scanner +failed to pick it up, and so what is clearly a checkmark in the margin of +the original becomes a little scoop in the margin of the facsimile. +Standard problems for facsimile editions, not new to electronics, but +also true of light-lens photography, and are remarked here because it is +important that we not fool ourselves that even if we produce a very nice +image of this page with good contrast, we are not replacing the +manuscript any more than microfilm has replaced the manuscript. + +The TEI comes from the research community, where its first allegiance +lies, but it is not just an academic exercise. It has relevance far +beyond those who spend all of their time studying text, because one's +model of text determines what one's software can do with a text. Good +models lead to good software. Bad models lead to bad software. That has +economic consequences, and it is these economic consequences that have +led the European Community to help support the TEI, and that will lead, +SPERBERG-McQUEEN hoped, some software vendors to realize that if they +provide software with a better model of the text they can make a killing. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Implications of different DTDs and tag sets * ODA versus SGML * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During the discussion that followed, several additional points were made. +Neither AAP (i.e., Association of American Publishers) nor CALS (i.e., +Computer-aided Acquisition and Logistics Support) has a document-type +definition for ancient Greek drama, although the TEI will be able to +handle that. Given this state of affairs and assuming that the +technical-journal producers and the commercial vendors decide to use the +other two types, then an institution like the Library of Congress, which +might receive all of their publications, would have to be able to handle +three different types of document definitions and tag sets and be able to +distinguish among them. + +Office Document Architecture (ODA) has some advantages that flow from its +tight focus on office documents and clear directions for implementation. +Much of the ODA standard is easier to read and clearer at first reading +than the SGML standard, which is extremely general. What that means is +that if one wants to use graphics in TIFF and ODA, one is stuck, because +ODA defines graphics formats while TIFF does not, whereas SGML says the +world is not waiting for this work group to create another graphics format. +What is needed is an ability to use whatever graphics format one wants. + +The TEI provides a socket that allows one to connect the SGML document to +the graphics. The notation that the graphics are in is clearly a choice +that one needs to make based on her or his environment, and that is one +advantage. SGML is less megalomaniacal in attempting to define formats +for all kinds of information, though more megalomaniacal in attempting to +cover all sorts of documents. The other advantage is that the model of +text represented by SGML is simply an order of magnitude richer and more +flexible than the model of text offered by ODA. Both offer hierarchical +structures, but SGML recognizes that the hierarchical model of the text +that one is looking at may not have been in the minds of the designers, +whereas ODA does not. + +ODA is not really aiming for the kind of document that the TEI wants to +encompass. The TEI can handle the kind of material ODA has, as well as a +significantly broader range of material. ODA seems to be very much +focused on office documents, which is what it started out being called-- +office document architecture. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +CALALUCA * Text-encoding from a publisher's perspective * +Responsibilities of a publisher * Reproduction of Migne's Latin series +whole and complete with SGML tags based on perceived need and expected +use * Particular decisions arising from the general decision to produce +and publish PLD * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +The final speaker in this session, Eric CALALUCA, vice president, +Chadwyck-Healey, Inc., spoke from the perspective of a publisher re +text-encoding, rather than as one qualified to discuss methods of +encoding data, and observed that the presenters sitting in the room, +whether they had chosen to or not, were acting as publishers: making +choices, gathering data, gathering information, and making assessments. +CALALUCA offered the hard-won conviction that in publishing very large +text files (such as PLD), one cannot avoid making personal judgments of +appropriateness and structure. + +In CALALUCA's view, encoding decisions stem from prior judgments. Two +notions have become axioms for him in the consideration of future sources +for electronic publication: 1) electronic text publishing is as personal +as any other kind of publishing, and questions of if and how to encode +the data are simply a consequence of that prior decision; 2) all +personal decisions are open to criticism, which is unavoidable. + +CALALUCA rehearsed his role as a publisher or, better, as an intermediary +between what is viewed as a sound idea and the people who would make use +of it. Finding the specialist to advise in this process is the core of +that function. The publisher must monitor and hug the fine line between +giving users what they want and suggesting what they might need. One +responsibility of a publisher is to represent the desires of scholars and +research librarians as opposed to bullheadedly forcing them into areas +they would not choose to enter. + +CALALUCA likened the questions being raised today about data structure +and standards to the decisions faced by the Abbe Migne himself during +production of the Patrologia series in the mid-nineteenth century. +Chadwyck-Healey's decision to reproduce Migne's Latin series whole and +complete with SGML tags was also based upon a perceived need and an +expected use. In the same way that Migne's work came to be far more than +a simple handbook for clerics, PLD is already far more than a database +for theologians. It is a bedrock source for the study of Western +civilization, CALALUCA asserted. + +In regard to the decision to produce and publish PLD, the editorial board +offered direct judgments on the question of appropriateness of these +texts for conversion, their encoding and their distribution, and +concluded that the best possible project was one that avoided overt +intrusions or exclusions in so important a resource. Thus, the general +decision to transmit the original collection as clearly as possible with +the widest possible avenues for use led to other decisions: 1) To encode +the data or not, SGML or not, TEI or not. Again, the expected user +community asserted the need for normative tagging structures of important +humanities texts, and the TEI seemed the most appropriate structure for +that purpose. Research librarians, who are trained to view the larger +impact of electronic text sources on 80 or 90 or 100 doctoral +disciplines, loudly approved the decision to include tagging. They see +what is coming better than the specialist who is completely focused on +one edition of Ambrose's De Anima, and they also understand that the +potential uses exceed present expectations. 2) What will be tagged and +what will not. Once again, the board realized that one must tag the +obvious. But in no way should one attempt to identify through encoding +schemes every single discrete area of a text that might someday be +searched. That was another decision. Searching by a column number, an +author, a word, a volume, permitting combination searches, and tagging +notations seemed logical choices as core elements. 3) How does one make +the data available? Tieing it to a CD-ROM edition creates limitations, +but a magnetic tape file that is very large, is accompanied by the +encoding specifications, and that allows one to make local modifications +also allows one to incorporate any changes one may desire within the +bounds of private research, though exporting tag files from a CD-ROM +could serve just as well. Since no one on the board could possibly +anticipate each and every way in which a scholar might choose to mine +this data bank, it was decided to satisfy the basics and make some +provisions for what might come. 4) Not to encode the database would rob +it of the interchangeability and portability these important texts should +accommodate. For CALALUCA, the extensive options presented by full-text +searching require care in text selection and strongly support encoding of +data to facilitate the widest possible search strategies. Better +software can always be created, but summoning the resources, the people, +and the energy to reconvert the text is another matter. + +PLD is being encoded, captured, and distributed, because to +Chadwyck-Healey and the board it offers the widest possible array of +future research applications that can be seen today. CALALUCA concluded +by urging the encoding of all important text sources in whatever way +seems most appropriate and durable at the time, without blanching at the +thought that one's work may require emendation in the future. (Thus, +Chadwyck-Healey produced a very large humanities text database before the +final release of the TEI Guidelines.) + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Creating texts with markup advocated * Trends in encoding * +The TEI and the issue of interchangeability of standards * A +misconception concerning the TEI * Implications for an institution like +LC in the event that a multiplicity of DTDs develops * Producing images +as a first step towards possible conversion to full text through +character recognition * The AAP tag sets as a common starting point and +the need for caution * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +HOCKEY prefaced the discussion that followed with several comments in +favor of creating texts with markup and on trends in encoding. In the +future, when many more texts are available for on-line searching, real +problems in finding what is wanted will develop, if one is faced with +millions of words of data. It therefore becomes important to consider +putting markup in texts to help searchers home in on the actual things +they wish to retrieve. Various approaches to refining retrieval methods +toward this end include building on a computer version of a dictionary +and letting the computer look up words in it to obtain more information +about the semantic structure or semantic field of a word, its grammatical +structure, and syntactic structure. + +HOCKEY commented on the present keen interest in the encoding world +in creating: 1) machine-readable versions of dictionaries that can be +initially tagged in SGML, which gives a structure to the dictionary entry; +these entries can then be converted into a more rigid or otherwise +different database structure inside the computer, which can be treated as +a dynamic tool for searching mechanisms; 2) large bodies of text to study +the language. In order to incorporate more sophisticated mechanisms, +more about how words behave needs to be known, which can be learned in +part from information in dictionaries. However, the last ten years have +seen much interest in studying the structure of printed dictionaries +converted into computer-readable form. The information one derives about +many words from those is only partial, one or two definitions of the +common or the usual meaning of a word, and then numerous definitions of +unusual usages. If the computer is using a dictionary to help retrieve +words in a text, it needs much more information about the common usages, +because those are the ones that occur over and over again. Hence the +current interest in developing large bodies of text in computer-readable +form in order to study the language. Several projects are engaged in +compiling, for example, 100 million words. HOCKEY described one with +which she was associated briefly at Oxford University involving +compilation of 100 million words of British English: about 10 percent of +that will contain detailed linguistic tagging encoded in SGML; it will +have word class taggings, with words identified as nouns, verbs, +adjectives, or other parts of speech. This tagging can then be used by +programs which will begin to learn a bit more about the structure of the +language, and then, can go to tag more text. + +HOCKEY said that the more that is tagged accurately, the more one can +refine the tagging process and thus the bigger body of text one can build +up with linguistic tagging incorporated into it. Hence, the more tagging +or annotation there is in the text, the more one may begin to learn about +language and the more it will help accomplish more intelligent OCR. She +recommended the development of software tools that will help one begin to +understand more about a text, which can then be applied to scanning +images of that text in that format and to using more intelligence to help +one interpret or understand the text. + +HOCKEY posited the need to think about common methods of text-encoding +for a long time to come, because building these large bodies of text is +extremely expensive and will only be done once. + +In the more general discussion on approaches to encoding that followed, +these points were made: + +BESSER identified the underlying problem with standards that all have to +struggle with in adopting a standard, namely, the tension between a very +highly defined standard that is very interchangeable but does not work +for everyone because something is lacking, and a standard that is less +defined, more open, more adaptable, but less interchangeable. Contending +that the way in which people use SGML is not sufficiently defined, BESSER +wondered 1) if people resist the TEI because they think it is too defined +in certain things they do not fit into, and 2) how progress with +interchangeability can be made without frightening people away. + +SPERBERG-McQUEEN replied that the published drafts of the TEI had met +with surprisingly little objection on the grounds that they do not allow +one to handle X or Y or Z. Particular concerns of the affiliated +projects have led, in practice, to discussions of how extensions are to +be made; the primary concern of any project has to be how it can be +represented locally, thus making interchange secondary. The TEI has +received much criticism based on the notion that everything in it is +required or even recommended, which, as it happens, is a misconception +from the beginning, because none of it is required and very little is +actually actively recommended for all cases, except that one document +one's source. + +SPERBERG-McQUEEN agreed with BESSER about this trade-off: all the +projects in a set of twenty TEI-conformant projects will not necessarily +tag the material in the same way. One result of the TEI will be that the +easiest problems will be solved--those dealing with the external form of +the information; but the problem that is hardest in interchange is that +one is not encoding what another wants, and vice versa. Thus, after +the adoption of a common notation, the differences in the underlying +conceptions of what is interesting about texts become more visible. +The success of a standard like the TEI will lie in the ability of +the recipient of interchanged texts to use some of what it contains +and to add the information that was not encoded that one wants, in a +layered way, so that texts can be gradually enriched and one does not +have to put in everything all at once. Hence, having a well-behaved +markup scheme is important. + +STEVENS followed up on the paradoxical analogy that BESSER alluded to in +the example of the MARC records, namely, the formats that are the same +except that they are different. STEVENS drew a parallel between +document-type definitions and MARC records for books and serials and maps, +where one has a tagging structure and there is a text-interchange. +STEVENS opined that the producers of the information will set the terms +for the standard (i.e., develop document-type definitions for the users +of their products), creating a situation that will be problematical for +an institution like the Library of Congress, which will have to deal with +the DTDs in the event that a multiplicity of them develops. Thus, +numerous people are seeking a standard but cannot find the tag set that +will be acceptable to them and their clients. SPERBERG-McQUEEN agreed +with this view, and said that the situation was in a way worse: attempting +to unify arbitrary DTDs resembled attempting to unify a MARC record with a +bibliographic record done according to the Prussian instructions. +According to STEVENS, this situation occurred very early in the process. + +WATERS recalled from early discussions on Project Open Book the concern +of many people that merely by producing images, POB was not really +enhancing intellectual access to the material. Nevertheless, not wishing +to overemphasize the opposition between imaging and full text, WATERS +stated that POB views getting the images as a first step toward possibly +converting to full text through character recognition, if the technology +is appropriate. WATERS also emphasized that encoding is involved even +with a set of images. + +SPERBERG-McQUEEN agreed with WATERS that one can create an SGML document +consisting wholly of images. At first sight, organizing graphic images +with an SGML document may not seem to offer great advantages, but the +advantages of the scheme WATERS described would be precisely that +ability to move into something that is more of a multimedia document: +a combination of transcribed text and page images. WEIBEL concurred in +this judgment, offering evidence from Project ADAPT, where a page is +divided into text elements and graphic elements, and in fact the text +elements are organized by columns and lines. These lines may be used as +the basis for distributing documents in a network environment. As one +develops software intelligent enough to recognize what those elements +are, it makes sense to apply SGML to an image initially, that may, in +fact, ultimately become more and more text, either through OCR or edited +OCR or even just through keying. For WATERS, the labor of composing the +document and saying this set of documents or this set of images belongs +to this document constitutes a significant investment. + +WEIBEL also made the point that the AAP tag sets, while not excessively +prescriptive, offer a common starting point; they do not define the +structure of the documents, though. They have some recommendations about +DTDs one could use as examples, but they do just suggest tag sets. For +example, the CORE project attempts to use the AAP markup as much as +possible, but there are clearly areas where structure must be added. +That in no way contradicts the use of AAP tag sets. + +SPERBERG-McQUEEN noted that the TEI prepared a long working paper early +on about the AAP tag set and what it lacked that the TEI thought it +needed, and a fairly long critique of the naming conventions, which has +led to a very different style of naming in the TEI. He stressed the +importance of the opposition between prescriptive markup, the kind that a +publisher or anybody can do when producing documents de novo, and +descriptive markup, in which one has to take what the text carrier +provides. In these particular tag sets it is easy to overemphasize this +opposition, because the AAP tag set is extremely flexible. Even if one +just used the DTDs, they allow almost anything to appear almost anywhere. + + ****** + +SESSION VI. COPYRIGHT ISSUES + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +PETERS * Several cautions concerning copyright in an electronic +environment * Review of copyright law in the United States * The notion +of the public good and the desirability of incentives to promote it * +What copyright protects * Works not protected by copyright * The rights +of copyright holders * Publishers' concerns in today's electronic +environment * Compulsory licenses * The price of copyright in a digital +medium and the need for cooperation * Additional clarifications * Rough +justice oftentimes the outcome in numerous copyright matters * Copyright +in an electronic society * Copyright law always only sets up the +boundaries; anything can be changed by contract * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Marybeth PETERS, policy planning adviser to the Register of Copyrights, +Library of Congress, made several general comments and then opened the +floor to discussion of subjects of interest to the audience. + +Having attended several sessions in an effort to gain a sense of what +people did and where copyright would affect their lives, PETERS expressed +the following cautions: + + * If one takes and converts materials and puts them in new forms, + then, from a copyright point of view, one is creating something and + will receive some rights. + + * However, if what one is converting already exists, a question + immediately arises about the status of the materials in question. + + * Putting something in the public domain in the United States offers + some freedom from anxiety, but distributing it throughout the world + on a network is another matter, even if one has put it in the public + domain in the United States. Re foreign laws, very frequently a + work can be in the public domain in the United States but protected + in other countries. Thus, one must consider all of the places a + work may reach, lest one unwittingly become liable to being faced + with a suit for copyright infringement, or at least a letter + demanding discussion of what one is doing. + +PETERS reviewed copyright law in the United States. The U.S. +Constitution effectively states that Congress has the power to enact +copyright laws for two purposes: 1) to encourage the creation and +dissemination of intellectual works for the good of society as a whole; +and, significantly, 2) to give creators and those who package and +disseminate materials the economic rewards that are due them. + +Congress strives to strike a balance, which at times can become an +emotional issue. The United States has never accepted the notion of the +natural right of an author so much as it has accepted the notion of the +public good and the desirability of incentives to promote it. This state +of affairs, however, has created strains on the international level and +is the reason for several of the differences in the laws that we have. +Today the United States protects almost every kind of work that can be +called an expression of an author. The standard for gaining copyright +protection is simply originality. This is a low standard and means that +a work is not copied from something else, as well as shows a certain +minimal amount of authorship. One can also acquire copyright protection +for making a new version of preexisting material, provided it manifests +some spark of creativity. + +However, copyright does not protect ideas, methods, systems--only the way +that one expresses those things. Nor does copyright protect anything +that is mechanical, anything that does not involve choice, or criteria +concerning whether or not one should do a thing. For example, the +results of a process called declicking, in which one mechanically removes +impure sounds from old recordings, are not copyrightable. On the other +hand, the choice to record a song digitally and to increase the sound of +violins or to bring up the tympani constitutes the results of conversion +that are copyrightable. Moreover, if a work is protected by copyright in +the United States, one generally needs the permission of the copyright +owner to convert it. Normally, who will own the new--that is, converted- +-material is a matter of contract. In the absence of a contract, the +person who creates the new material is the author and owner. But people +do not generally think about the copyright implications until after the +fact. PETERS stressed the need when dealing with copyrighted works to +think about copyright in advance. One's bargaining power is much greater +up front than it is down the road. + +PETERS next discussed works not protected by copyright, for example, any +work done by a federal employee as part of his or her official duties is +in the public domain in the United States. The issue is not wholly free +of doubt concerning whether or not the work is in the public domain +outside the United States. Other materials in the public domain include: +any works published more than seventy-five years ago, and any work +published in the United States more than twenty-eight years ago, whose +copyright was not renewed. In talking about the new technology and +putting material in a digital form to send all over the world, PETERS +cautioned, one must keep in mind that while the rights may not be an +issue in the United States, they may be in different parts of the world, +where most countries previously employed a copyright term of the life of +the author plus fifty years. + +PETERS next reviewed the economics of copyright holding. Simply, +economic rights are the rights to control the reproduction of a work in +any form. They belong to the author, or in the case of a work made for +hire, the employer. The second right, which is critical to conversion, +is the right to change a work. The right to make new versions is perhaps +one of the most significant rights of authors, particularly in an +electronic world. The third right is the right to publish the work and +the right to disseminate it, something that everyone who deals in an +electronic medium needs to know. The basic rule is if a copy is sold, +all rights of distribution are extinguished with the sale of that copy. +The key is that it must be sold. A number of companies overcome this +obstacle by leasing or renting their product. These companies argue that +if the material is rented or leased and not sold, they control the uses +of a work. The fourth right, and one very important in a digital world, +is a right of public performance, which means the right to show the work +sequentially. For example, copyright owners control the showing of a +CD-ROM product in a public place such as a public library. The reverse +side of public performance is something called the right of public +display. Moral rights also exist, which at the federal level apply only +to very limited visual works of art, but in theory may apply under +contract and other principles. Moral rights may include the right of an +author to have his or her name on a work, the right of attribution, and +the right to object to distortion or mutilation--the right of integrity. + +The way copyright law is worded gives much latitude to activities such as +preservation; to use of material for scholarly and research purposes when +the user does not make multiple copies; and to the generation of +facsimile copies of unpublished works by libraries for themselves and +other libraries. But the law does not allow anyone to become the +distributor of the product for the entire world. In today's electronic +environment, publishers are extremely concerned that the entire world is +networked and can obtain the information desired from a single copy in a +single library. Hence, if there is to be only one sale, which publishers +may choose to live with, they will obtain their money in other ways, for +example, from access and use. Hence, the development of site licenses +and other kinds of agreements to cover what publishers believe they +should be compensated for. Any solution that the United States takes +today has to consider the international arena. + +Noting that the United States is a member of the Berne Convention and +subscribes to its provisions, PETERS described the permissions process. +She also defined compulsory licenses. A compulsory license, of which the +United States has had a few, builds into the law the right to use a work +subject to certain terms and conditions. In the international arena, +however, the ability to use compulsory licenses is extremely limited. +Thus, clearinghouses and other collectives comprise one option that has +succeeded in providing for use of a work. Often overlooked when one +begins to use copyrighted material and put products together is how +expensive the permissions process and managing it is. According to +PETERS, the price of copyright in a digital medium, whatever solution is +worked out, will include managing and assembling the database. She +strongly recommended that publishers and librarians or people with +various backgrounds cooperate to work out administratively feasible +systems, in order to produce better results. + +In the lengthy question-and-answer period that followed PETERS's +presentation, the following points emerged: + + * The Copyright Office maintains that anything mechanical and + totally exhaustive probably is not protected. In the event that + what an individual did in developing potentially copyrightable + material is not understood, the Copyright Office will ask about the + creative choices the applicant chose to make or not to make. As a + practical matter, if one believes she or he has made enough of those + choices, that person has a right to assert a copyright and someone + else must assert that the work is not copyrightable. The more + mechanical, the more automatic, a thing is, the less likely it is to + be copyrightable. + + * Nearly all photographs are deemed to be copyrightable, but no one + worries about them much, because everyone is free to take the same + image. Thus, a photographic copyright represents what is called a + "thin" copyright. The photograph itself must be duplicated, in + order for copyright to be violated. + + * The Copyright Office takes the position that X-rays are not + copyrightable because they are mechanical. It can be argued + whether or not image enhancement in scanning can be protected. One + must exercise care with material created with public funds and + generally in the public domain. An article written by a federal + employee, if written as part of official duties, is not + copyrightable. However, control over a scientific article written + by a National Institutes of Health grantee (i.e., someone who + receives money from the U.S. government), depends on NIH policy. If + the government agency has no policy (and that policy can be + contained in its regulations, the contract, or the grant), the + author retains copyright. If a provision of the contract, grant, or + regulation states that there will be no copyright, then it does not + exist. When a work is created, copyright automatically comes into + existence unless something exists that says it does not. + + * An enhanced electronic copy of a print copy of an older reference + work in the public domain that does not contain copyrightable new + material is a purely mechanical rendition of the original work, and + is not copyrightable. + + * Usually, when a work enters the public domain, nothing can remove + it. For example, Congress recently passed into law the concept of + automatic renewal, which means that copyright on any work published + between l964 and l978 does not have to be renewed in order to + receive a seventy-five-year term. But any work not renewed before + 1964 is in the public domain. + + * Concerning whether or not the United States keeps track of when + authors die, nothing was ever done, nor is anything being done at + the moment by the Copyright Office. + + * Software that drives a mechanical process is itself copyrightable. + If one changes platforms, the software itself has a copyright. The + World Intellectual Property Organization will hold a symposium 28 + March through 2 April l993, at Harvard University, on digital + technology, and will study this entire issue. If one purchases a + computer software package, such as MacPaint, and creates something + new, one receives protection only for that which has been added. + +PETERS added that often in copyright matters, rough justice is the +outcome, for example, in collective licensing, ASCAP (i.e., American +Society of Composers, Authors, and Publishers), and BMI (i.e., Broadcast +Music, Inc.), where it may seem that the big guys receive more than their +due. Of course, people ought not to copy a creative product without +paying for it; there should be some compensation. But the truth of the +world, and it is not a great truth, is that the big guy gets played on +the radio more frequently than the little guy, who has to do much more +until he becomes a big guy. That is true of every author, every +composer, everyone, and, unfortunately, is part of life. + +Copyright always originates with the author, except in cases of works +made for hire. (Most software falls into this category.) When an author +sends his article to a journal, he has not relinquished copyright, though +he retains the right to relinquish it. The author receives absolutely +everything. The less prominent the author, the more leverage the +publisher will have in contract negotiations. In order to transfer the +rights, the author must sign an agreement giving them away. + +In an electronic society, it is important to be able to license a writer +and work out deals. With regard to use of a work, it usually is much +easier when a publisher holds the rights. In an electronic era, a real +problem arises when one is digitizing and making information available. +PETERS referred again to electronic licensing clearinghouses. Copyright +ought to remain with the author, but as one moves forward globally in the +electronic arena, a middleman who can handle the various rights becomes +increasingly necessary. + +The notion of copyright law is that it resides with the individual, but +in an on-line environment, where a work can be adapted and tinkered with +by many individuals, there is concern. If changes are authorized and +there is no agreement to the contrary, the person who changes a work owns +the changes. To put it another way, the person who acquires permission +to change a work technically will become the author and the owner, unless +some agreement to the contrary has been made. It is typical for the +original publisher to try to control all of the versions and all of the +uses. Copyright law always only sets up the boundaries. Anything can be +changed by contract. + + ****** + +SESSION VII. CONCLUSION + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +GENERAL DISCUSSION * Two questions for discussion * Different emphases in +the Workshop * Bringing the text and image partisans together * +Desiderata in planning the long-term development of something * Questions +surrounding the issue of electronic deposit * Discussion of electronic +deposit as an allusion to the issue of standards * Need for a directory +of preservation projects in digital form and for access to their +digitized files * CETH's catalogue of machine-readable texts in the +humanities * What constitutes a publication in the electronic world? * +Need for LC to deal with the concept of on-line publishing * LC's Network +Development Office exploring the limits of MARC as a standard in terms +of handling electronic information * Magnitude of the problem and the +need for distributed responsibility in order to maintain and store +electronic information * Workshop participants to be viewed as a starting +point * Development of a network version of AM urged * A step toward AM's +construction of some sort of apparatus for network access * A delicate +and agonizing policy question for LC * Re the issue of electronic +deposit, LC urged to initiate a catalytic process in terms of distributed +responsibility * Suggestions for cooperative ventures * Commercial +publishers' fears * Strategic questions for getting the image and text +people to think through long-term cooperation * Clarification of the +driving force behind both the Perseus and the Cornell Xerox projects * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +In his role as moderator of the concluding session, GIFFORD raised two +questions he believed would benefit from discussion: 1) Are there enough +commonalities among those of us that have been here for two days so that +we can see courses of action that should be taken in the future? And, if +so, what are they and who might take them? 2) Partly derivative from +that, but obviously very dangerous to LC as host, do you see a role for +the Library of Congress in all this? Of course, the Library of Congress +holds a rather special status in a number of these matters, because it is +not perceived as a player with an economic stake in them, but are there +roles that LC can play that can help advance us toward where we are heading? + +Describing himself as an uninformed observer of the technicalities of the +last two days, GIFFORD detected three different emphases in the Workshop: +1) people who are very deeply committed to text; 2) people who are almost +passionate about images; and 3) a few people who are very committed to +what happens to the networks. In other words, the new networking +dimension, the accessibility of the processability, the portability of +all this across the networks. How do we pull those three together? + +Adding a question that reflected HOCKEY's comment that this was the +fourth workshop she had attended in the previous thirty days, FLEISCHHAUER +wondered to what extent this meeting had reinvented the wheel, or if it +had contributed anything in the way of bringing together a different group +of people from those who normally appear on the workshop circuit. + +HOCKEY confessed to being struck at this meeting and the one the +Electronic Pierce Consortium organized the previous week that this was a +coming together of people working on texts and not images. Attempting to +bring the two together is something we ought to be thinking about for the +future: How one can think about working with image material to begin +with, but structuring it and digitizing it in such a way that at a later +stage it can be interpreted into text, and find a common way of building +text and images together so that they can be used jointly in the future, +with the network support to begin there because that is how people will +want to access it. + +In planning the long-term development of something, which is what is +being done in electronic text, HOCKEY stressed the importance not only +of discussing the technical aspects of how one does it but particularly +of thinking about what the people who use the stuff will want to do. +But conversely, there are numerous things that people start to do with +electronic text or material that nobody ever thought of in the beginning. + +LESK, in response to the question concerning the role of the Library of +Congress, remarked the often suggested desideratum of having electronic +deposit: Since everything is now computer-typeset, an entire decade of +material that was machine-readable exists, but the publishers frequently +did not save it; has LC taken any action to have its copyright deposit +operation start collecting these machine-readable versions? In the +absence of PETERS, GIFFORD replied that the question was being +actively considered but that that was only one dimension of the problem. +Another dimension is the whole question of the integrity of the original +electronic document. It becomes highly important in science to prove +authorship. How will that be done? + +ERWAY explained that, under the old policy, to make a claim for a +copyright for works that were published in electronic form, including +software, one had to submit a paper copy of the first and last twenty +pages of code--something that represented the work but did not include +the entire work itself and had little value to anyone. As a temporary +measure, LC has claimed the right to demand electronic versions of +electronic publications. This measure entails a proactive role for the +Library to say that it wants a particular electronic version. Publishers +then have perhaps a year to submit it. But the real problem for LC is +what to do with all this material in all these different formats. Will +the Library mount it? How will it give people access to it? How does LC +keep track of the appropriate computers, software, and media? The situation +is so hard to control, ERWAY said, that it makes sense for each publishing +house to maintain its own archive. But LC cannot enforce that either. + +GIFFORD acknowledged LESK's suggestion that establishing a priority +offered the solution, albeit a fairly complicated one. But who maintains +that register?, he asked. GRABER noted that LC does attempt to collect a +Macintosh version and the IBM-compatible version of software. It does +not collect other versions. But while true for software, BYRUM observed, +this reply does not speak to materials, that is, all the materials that +were published that were on somebody's microcomputer or driver tapes +at a publishing office across the country. LC does well to acquire +specific machine-readable products selectively that were intended to be +machine-readable. Materials that were in machine-readable form at one time, +BYRUM said, would be beyond LC's capability at the moment, insofar as +attempting to acquire, organize, and preserve them are concerned--and +preservation would be the most important consideration. In this +connection, GIFFORD reiterated the need to work out some sense of +distributive responsibility for a number of these issues, which +inevitably will require significant cooperation and discussion. +Nobody can do it all. + +LESK suggested that some publishers may look with favor on LC beginning +to serve as a depository of tapes in an electronic manuscript standard. +Publishers may view this as a service that they did not have to perform +and they might send in tapes. However, SPERBERG-McQUEEN countered, +although publishers have had equivalent services available to them for a +long time, the electronic text archive has never turned away or been +flooded with tapes and is forever sending feedback to the depositor. +Some publishers do send in tapes. + +ANDRE viewed this discussion as an allusion to the issue of standards. +She recommended that the AAP standard and the TEI, which has already been +somewhat harmonized internationally and which also shares several +compatibilities with the AAP, be harmonized to ensure sufficient +compatibility in the software. She drew the line at saying LC ought to +be the locus or forum for such harmonization. + +Taking the group in a slightly different direction, but one where at +least in the near term LC might play a helpful role, LYNCH remarked the +plans of a number of projects to carry out preservation by creating +digital images that will end up in on-line or near-line storage at some +institution. Presumably, LC will link this material somehow to its +on-line catalog in most cases. Thus, it is in a digital form. LYNCH had +the impression that many of these institutions would be willing to make +those files accessible to other people outside the institution, provided +that there is no copyright problem. This desideratum will require +propagating the knowledge that those digitized files exist, so that they +can end up in other on-line catalogs. Although uncertain about the +mechanism for achieving this result, LYNCH said that it warranted +scrutiny because it seemed to be connected to some of the basic issues of +cataloging and distribution of records. It would be foolish, given the +amount of work that all of us have to do and our meager resources, to +discover multiple institutions digitizing the same work. Re microforms, +LYNCH said, we are in pretty good shape. + +BATTIN called this a big problem and noted that the Cornell people (who +had already departed) were working on it. At issue from the beginning +was to learn how to catalog that information into RLIN and then into +OCLC, so that it would be accessible. That issue remains to be resolved. +LYNCH rejoined that putting it into OCLC or RLIN was helpful insofar as +somebody who is thinking of performing preservation activity on that work +could learn about it. It is not necessarily helpful for institutions to +make that available. BATTIN opined that the idea was that it not only be +for preservation purposes but for the convenience of people looking for +this material. She endorsed LYNCH's dictum that duplication of this +effort was to be avoided by every means. + +HOCKEY informed the Workshop about one major current activity of CETH, +namely a catalogue of machine-readable texts in the humanities. Held on +RLIN at present, the catalogue has been concentrated on ASCII as opposed +to digitized images of text. She is exploring ways to improve the +catalogue and make it more widely available, and welcomed suggestions +about these concerns. CETH owns the records, which are not just +restricted to RLIN, and can distribute them however it wishes. + +Taking up LESK's earlier question, BATTIN inquired whether LC, since it +is accepting electronic files and designing a mechanism for dealing with +that rather than putting books on shelves, would become responsible for +the National Copyright Depository of Electronic Materials. Of course +that could not be accomplished overnight, but it would be something LC +could plan for. GIFFORD acknowledged that much thought was being devoted +to that set of problems and returned the discussion to the issue raised +by LYNCH--whether or not putting the kind of records that both BATTIN and +HOCKEY have been talking about in RLIN is not a satisfactory solution. +It seemed to him that RLIN answered LYNCH's original point concerning +some kind of directory for these kinds of materials. In a situation +where somebody is attempting to decide whether or not to scan this or +film that or to learn whether or not someone has already done so, LYNCH +suggested, RLIN is helpful, but it is not helpful in the case of a local, +on-line catalogue. Further, one would like to have her or his system be +aware that that exists in digital form, so that one can present it to a +patron, even though one did not digitize it, if it is out of copyright. +The only way to make those linkages would be to perform a tremendous +amount of real-time look-up, which would be awkward at best, or +periodically to yank the whole file from RLIN and match it against one's +own stuff, which is a nuisance. + +But where, ERWAY inquired, does one stop including things that are +available with Internet, for instance, in one's local catalogue? +It almost seems that that is LC's means to acquire access to them. +That represents LC's new form of library loan. Perhaps LC's new on-line +catalogue is an amalgamation of all these catalogues on line. LYNCH +conceded that perhaps that was true in the very long term, but was not +applicable to scanning in the short term. In his view, the totals cited +by Yale, 10,000 books over perhaps a four-year period, and 1,000-1,500 +books from Cornell, were not big numbers, while searching all over +creation for relatively rare occurrences will prove to be less efficient. +As GIFFORD wondered if this would not be a separable file on RLIN and +could be requested from them, BATTIN interjected that it was easily +accessible to an institution. SEVERTSON pointed out that that file, cum +enhancements, was available with reference information on CD-ROM, which +makes it a little more available. + +In HOCKEY's view, the real question facing the Workshop is what to put in +this catalogue, because that raises the question of what constitutes a +publication in the electronic world. (WEIBEL interjected that Eric Joule +in OCLC's Office of Research is also wrestling with this particular +problem, while GIFFORD thought it sounded fairly generic.) HOCKEY +contended that a majority of texts in the humanities are in the hands +of either a small number of large research institutions or individuals +and are not generally available for anyone else to access at all. +She wondered if these texts ought to be catalogued. + +After argument proceeded back and forth for several minutes over why +cataloguing might be a necessary service, LEBRON suggested that this +issue involved the responsibility of a publisher. The fact that someone +has created something electronically and keeps it under his or her +control does not constitute publication. Publication implies +dissemination. While it would be important for a scholar to let other +people know that this creation exists, in many respects this is no +different from an unpublished manuscript. That is what is being accessed +in there, except that now one is not looking at it in the hard-copy but +in the electronic environment. + +LEBRON expressed puzzlement at the variety of ways electronic publishing +has been viewed. Much of what has been discussed throughout these two +days has concerned CD-ROM publishing, whereas in the on-line environment +that she confronts, the constraints and challenges are very different. +Sooner or later LC will have to deal with the concept of on-line +publishing. Taking up the comment ERWAY made earlier about storing +copies, LEBRON gave her own journal as an example. How would she deposit +OJCCT for copyright?, she asked, because the journal will exist in the +mainframe at OCLC and people will be able to access it. Here the +situation is different, ownership versus access, and is something that +arises with publication in the on-line environment, faster than is +sometimes realized. Lacking clear answers to all of these questions +herself, LEBRON did not anticipate that LC would be able to take a role +in helping to define some of them for quite a while. + +GREENFIELD observed that LC's Network Development Office is attempting, +among other things, to explore the limits of MARC as a standard in terms +of handling electronic information. GREENFIELD also noted that Rebecca +GUENTHER from that office gave a paper to the American Society for +Information Science (ASIS) summarizing several of the discussion papers +that were coming out of the Network Development Office. GREENFIELD said +he understood that that office had a list-server soliciting just the kind +of feedback received today concerning the difficulties of identifying and +cataloguing electronic information. GREENFIELD hoped that everybody +would be aware of that and somehow contribute to that conversation. + +Noting two of LC's roles, first, to act as a repository of record for +material that is copyrighted in this country, and second, to make +materials it holds available in some limited form to a clientele that +goes beyond Congress, BESSER suggested that it was incumbent on LC to +extend those responsibilities to all the things being published in +electronic form. This would mean eventually accepting electronic +formats. LC could require that at some point they be in a certain +limited set of formats, and then develop mechanisms for allowing people +to access those in the same way that other things are accessed. This +does not imply that they are on the network and available to everyone. +LC does that with most of its bibliographic records, BESSER said, which +end up migrating to the utility (e.g., OCLC) or somewhere else. But just +as most of LC's books are available in some form through interlibrary +loan or some other mechanism, so in the same way electronic formats ought +to be available to others in some format, though with some copyright +considerations. BESSER was not suggesting that these mechanisms be +established tomorrow, only that they seemed to fall within LC's purview, +and that there should be long-range plans to establish them. + +Acknowledging that those from LC in the room agreed with BESSER +concerning the need to confront difficult questions, GIFFORD underscored +the magnitude of the problem of what to keep and what to select. GIFFORD +noted that LC currently receives some 31,000 items per day, not counting +electronic materials, and argued for much more distributed responsibility +in order to maintain and store electronic information. + +BESSER responded that the assembled group could be viewed as a starting +point, whose initial operating premise could be helping to move in this +direction and defining how LC could do so, for example, in areas of +standardization or distribution of responsibility. + +FLEISCHHAUER added that AM was fully engaged, wrestling with some of the +questions that pertain to the conversion of older historical materials, +which would be one thing that the Library of Congress might do. Several +points mentioned by BESSER and several others on this question have a +much greater impact on those who are concerned with cataloguing and the +networking of bibliographic information, as well as preservation itself. + +Speaking directly to AM, which he considered was a largely uncopyrighted +database, LYNCH urged development of a network version of AM, or +consideration of making the data in it available to people interested in +doing network multimedia. On account of the current great shortage of +digital data that is both appealing and unencumbered by complex rights +problems, this course of action could have a significant effect on making +network multimedia a reality. + +In this connection, FLEISCHHAUER reported on a fragmentary prototype in +LC's Office of Information Technology Services that attempts to associate +digital images of photographs with cataloguing information in ways that +work within a local area network--a step, so to say, toward AM's +construction of some sort of apparatus for access. Further, AM has +attempted to use standard data forms in order to help make that +distinction between the access tools and the underlying data, and thus +believes that the database is networkable. + +A delicate and agonizing policy question for LC, however, which comes +back to resources and unfortunately has an impact on this, is to find +some appropriate, honorable, and legal cost-recovery possibilities. A +certain skittishness concerning cost-recovery has made people unsure +exactly what to do. AM would be highly receptive to discussing further +LYNCH's offer to test or demonstrate its database in a network +environment, FLEISCHHAUER said. + +Returning the discussion to what she viewed as the vital issue of +electronic deposit, BATTIN recommended that LC initiate a catalytic +process in terms of distributed responsibility, that is, bring together +the distributed organizations and set up a study group to look at all +these issues and see where we as a nation should move. The broader +issues of how we deal with the management of electronic information will +not disappear, but only grow worse. + +LESK took up this theme and suggested that LC attempt to persuade one +major library in each state to deal with its state equivalent publisher, +which might produce a cooperative project that would be equitably +distributed around the country, and one in which LC would be dealing with +a minimal number of publishers and minimal copyright problems. + +GRABER remarked the recent development in the scientific community of a +willingness to use SGML and either deposit or interchange on a fairly +standardized format. He wondered if a similar movement was taking place +in the humanities. Although the National Library of Medicine found only +a few publishers to cooperate in a like venture two or three years ago, a +new effort might generate a much larger number willing to cooperate. + +KIMBALL recounted his unit's (Machine-Readable Collections Reading Room) +troubles with the commercial publishers of electronic media in acquiring +materials for LC's collections, in particular the publishers' fear that +they would not be able to cover their costs and would lose control of +their products, that LC would give them away or sell them and make +profits from them. He doubted that the publishing industry was prepared +to move into this area at the moment, given its resistance to allowing LC +to use its machine-readable materials as the Library would like. + +The copyright law now addresses compact disk as a medium, and LC can +request one copy of that, or two copies if it is the only version, and +can request copies of software, but that fails to address magazines or +books or anything like that which is in machine-readable form. + +GIFFORD acknowledged the thorny nature of this issue, which he illustrated +with the example of the cumbersome process involved in putting a copy of a +scientific database on a LAN in LC's science reading room. He also +acknowledged that LC needs help and could enlist the energies and talents +of Workshop participants in thinking through a number of these problems. + +GIFFORD returned the discussion to getting the image and text people to +think through together where they want to go in the long term. MYLONAS +conceded that her experience at the Pierce Symposium the previous week at +Georgetown University and this week at LC had forced her to reevaluate +her perspective on the usefulness of text as images. MYLONAS framed the +issues in a series of questions: How do we acquire machine-readable +text? Do we take pictures of it and perform OCR on it later? Is it +important to obtain very high-quality images and text, etc.? +FLEISCHHAUER agreed with MYLONAS's framing of strategic questions, adding +that a large institution such as LC probably has to do all of those +things at different times. Thus, the trick is to exercise judgment. The +Workshop had added to his and AM's considerations in making those +judgments. Concerning future meetings or discussions, MYLONAS suggested +that screening priorities would be helpful. + +WEIBEL opined that the diversity reflected in this group was a sign both +of the health and of the immaturity of the field, and more time would +have to pass before we convince one another concerning standards. + +An exchange between MYLONAS and BATTIN clarified the point that the +driving force behind both the Perseus and the Cornell Xerox projects was +the preservation of knowledge for the future, not simply for particular +research use. In the case of Perseus, MYLONAS said, the assumption was +that the texts would not be entered again into electronically readable +form. SPERBERG-McQUEEN added that a scanned image would not serve as an +archival copy for purposes of preservation in the case of, say, the Bill +of Rights, in the sense that the scanned images are effectively the +archival copies for the Cornell mathematics books. + + + *** *** *** ****** *** *** *** + + + Appendix I: PROGRAM + + + + WORKSHOP + ON + ELECTRONIC + TEXTS + + + + 9-10 June 1992 + + Library of Congress + Washington, D.C. + + + + Supported by a Grant from the David and Lucile Packard Foundation + + +Tuesday, 9 June 1992 + +NATIONAL DEMONSTRATION LAB, ATRIUM, LIBRARY MADISON + +8:30 AM Coffee and Danish, registration + +9:00 AM Welcome + + Prosser Gifford, Director for Scholarly Programs, and Carl + Fleischhauer, Coordinator, American Memory, Library of + Congress + +9:l5 AM Session I. Content in a New Form: Who Will Use It and What + Will They Do? + + Broad description of the range of electronic information. + Characterization of who uses it and how it is or may be used. + In addition to a look at scholarly uses, this session will + include a presentation on use by students (K-12 and college) + and the general public. + + Moderator: James Daly + Avra Michelson, Archival Research and Evaluation Staff, + National Archives and Records Administration (Overview) + Susan H. Veccia, Team Leader, American Memory, User Evaluation, + and + Joanne Freeman, Associate Coordinator, American Memory, Library + of Congress (Beyond the scholar) + +10:30- +11:00 AM Break + +11:00 AM Session II. Show and Tell. + + Each presentation to consist of a fifteen-minute + statement/show; group discussion will follow lunch. + + Moderator: Jacqueline Hess, Director, National Demonstration + Lab + + 1. A classics project, stressing texts and text retrieval + more than multimedia: Perseus Project, Harvard + University + Elli Mylonas, Managing Editor + + 2. Other humanities projects employing the emerging norms of + the Text Encoding Initiative (TEI): Chadwyck-Healey's + The English Poetry Full Text Database and/or Patrologia + Latina Database + Eric M. Calaluca, Vice President, Chadwyck-Healey, Inc. + + 3. American Memory + Carl Fleischhauer, Coordinator, and + Ricky Erway, Associate Coordinator, Library of Congress + + 4. Founding Fathers example from Packard Humanities + Institute: The Papers of George Washington, University + of Virginia + Dorothy Twohig, Managing Editor, and/or + David Woodley Packard + + 5. An electronic medical journal offering graphics and + full-text searchability: The Online Journal of Current + Clinical Trials, American Association for the Advancement + of Science + Maria L. Lebron, Managing Editor + + 6. A project that offers facsimile images of pages but omits + searchable text: Cornell math books + Lynne K. Personius, Assistant Director, Cornell + Information Technologies for Scholarly Information + Sources, Cornell University + +12:30 PM Lunch (Dining Room A, Library Madison 620. Exhibits + available.) + +1:30 PM Session II. Show and Tell (Cont'd.). + +3:00- +3:30 PM Break + +3:30- +5:30 PM Session III. Distribution, Networks, and Networking: Options + for Dissemination. + + Published disks: University presses and public-sector + publishers, private-sector publishers + Computer networks + + Moderator: Robert G. Zich, Special Assistant to the Associate + Librarian for Special Projects, Library of Congress + Clifford A. Lynch, Director, Library Automation, University of + California + Howard Besser, School of Library and Information Science, + University of Pittsburgh + Ronald L. Larsen, Associate Director of Libraries for + Information Technology, University of Maryland at College + Park + Edwin B. Brownrigg, Executive Director, Memex Research + Institute + +6:30 PM Reception (Montpelier Room, Library Madison 619.) + + ****** + +Wednesday, 10 June 1992 + +DINING ROOM A, LIBRARY MADISON 620 + +8:30 AM Coffee and Danish + +9:00 AM Session IV. Image Capture, Text Capture, Overview of Text and + Image Storage Formats. + + Moderator: William L. Hooton, Vice President of Operations, + I-NET + + A) Principal Methods for Image Capture of Text: + Direct scanning + Use of microform + + Anne R. Kenney, Assistant Director, Department of Preservation + and Conservation, Cornell University + Pamela Q.J. Andre, Associate Director, Automation, and + Judith A. Zidar, Coordinator, National Agricultural Text + Digitizing Program (NATDP), National Agricultural Library + (NAL) + Donald J. Waters, Head, Systems Office, Yale University Library + + B) Special Problems: + Bound volumes + Conservation + Reproducing printed halftones + + Carl Fleischhauer, Coordinator, American Memory, Library of + Congress + George Thoma, Chief, Communications Engineering Branch, + National Library of Medicine (NLM) + +10:30- +11:00 AM Break + +11:00 AM Session IV. Image Capture, Text Capture, Overview of Text and + Image Storage Formats (Cont'd.). + + C) Image Standards and Implications for Preservation + + Jean Baronas, Senior Manager, Department of Standards and + Technology, Association for Information and Image Management + (AIIM) + Patricia Battin, President, The Commission on Preservation and + Access (CPA) + + D) Text Conversion: + OCR vs. rekeying + Standards of accuracy and use of imperfect texts + Service bureaus + + Stuart Weibel, Senior Research Specialist, Online Computer + Library Center, Inc. (OCLC) + Michael Lesk, Executive Director, Computer Science Research, + Bellcore + Ricky Erway, Associate Coordinator, American Memory, Library of + Congress + Pamela Q.J. Andre, Associate Director, Automation, and + Judith A. Zidar, Coordinator, National Agricultural Text + Digitizing Program (NATDP), National Agricultural Library + (NAL) + +12:30- +1:30 PM Lunch + +1:30 PM Session V. Approaches to Preparing Electronic Texts. + + Discussion of approaches to structuring text for the computer; + pros and cons of text coding, description of methods in + practice, and comparison of text-coding methods. + + Moderator: Susan Hockey, Director, Center for Electronic Texts + in the Humanities (CETH), Rutgers and Princeton Universities + David Woodley Packard + C.M. Sperberg-McQueen, Editor, Text Encoding Initiative (TEI), + University of Illinois-Chicago + Eric M. Calaluca, Vice President, Chadwyck-Healey, Inc. + +3:30- +4:00 PM Break + +4:00 PM Session VI. Copyright Issues. + + Marybeth Peters, Policy Planning Adviser to the Register of + Copyrights, Library of Congress + +5:00 PM Session VII. Conclusion. + + General discussion. + What topics were omitted or given short shrift that anyone + would like to talk about now? + Is there a "group" here? What should the group do next, if + anything? What should the Library of Congress do next, if + anything? + Moderator: Prosser Gifford, Director for Scholarly Programs, + Library of Congress + +6:00 PM Adjourn + + + *** *** *** ****** *** *** *** + + + Appendix II: ABSTRACTS + + +SESSION I + +Avra MICHELSON Forecasting the Use of Electronic Texts by + Social Sciences and Humanities Scholars + +This presentation explores the ways in which electronic texts are likely +to be used by the non-scientific scholarly community. Many of the +remarks are drawn from a report the speaker coauthored with Jeff +Rothenberg, a computer scientist at The RAND Corporation. + +The speaker assesses 1) current scholarly use of information technology +and 2) the key trends in information technology most relevant to the +research process, in order to predict how social sciences and humanities +scholars are apt to use electronic texts. In introducing the topic, +current use of electronic texts is explored broadly within the context of +scholarly communication. From the perspective of scholarly +communication, the work of humanities and social sciences scholars +involves five processes: 1) identification of sources, 2) communication +with colleagues, 3) interpretation and analysis of data, 4) dissemination +of research findings, and 5) curriculum development and instruction. The +extent to which computation currently permeates aspects of scholarly +communication represents a viable indicator of the prospects for +electronic texts. + +The discussion of current practice is balanced by an analysis of key +trends in the scholarly use of information technology. These include the +trends toward end-user computing and connectivity, which provide a +framework for forecasting the use of electronic texts through this +millennium. The presentation concludes with a summary of the ways in +which the nonscientific scholarly community can be expected to use +electronic texts, and the implications of that use for information +providers. + +Susan VECCIA and Joanne FREEMAN Electronic Archives for the Public: + Use of American Memory in Public and + School Libraries + +This joint discussion focuses on nonscholarly applications of electronic +library materials, specifically addressing use of the Library of Congress +American Memory (AM) program in a small number of public and school +libraries throughout the United States. AM consists of selected Library +of Congress primary archival materials, stored on optical media +(CD-ROM/videodisc), and presented with little or no editing. Many +collections are accompanied by electronic introductions and user's guides +offering background information and historical context. Collections +represent a variety of formats including photographs, graphic arts, +motion pictures, recorded sound, music, broadsides and manuscripts, +books, and pamphlets. + +In 1991, the Library of Congress began a nationwide evaluation of AM in +different types of institutions. Test sites include public libraries, +elementary and secondary school libraries, college and university +libraries, state libraries, and special libraries. Susan VECCIA and +Joanne FREEMAN will discuss their observations on the use of AM by the +nonscholarly community, using evidence gleaned from this ongoing +evaluation effort. + +VECCIA will comment on the overall goals of the evaluation project, and +the types of public and school libraries included in this study. Her +comments on nonscholarly use of AM will focus on the public library as a +cultural and community institution, often bridging the gap between formal +and informal education. FREEMAN will discuss the use of AM in school +libraries. Use by students and teachers has revealed some broad +questions about the use of electronic resources, as well as definite +benefits gained by the "nonscholar." Topics will include the problem of +grasping content and context in an electronic environment, the stumbling +blocks created by "new" technologies, and the unique skills and interests +awakened through use of electronic resources. + +SESSION II + +Elli MYLONAS The Perseus Project: Interactive Sources and + Studies in Classical Greece + +The Perseus Project (5) has just released Perseus 1.0, the first publicly +available version of its hypertextual database of multimedia materials on +classical Greece. Perseus is designed to be used by a wide audience, +comprised of readers at the student and scholar levels. As such, it must +be able to locate information using different strategies, and it must +contain enough detail to serve the different needs of its users. In +addition, it must be delivered so that it is affordable to its target +audience. [These problems and the solutions we chose are described in +Mylonas, "An Interface to Classical Greek Civilization," JASIS 43:2, +March 1992.] + +In order to achieve its objective, the project staff decided to make a +conscious separation between selecting and converting textual, database, +and image data on the one hand, and putting it into a delivery system on +the other. That way, it is possible to create the electronic data +without thinking about the restrictions of the delivery system. We have +made a great effort to choose system-independent formats for our data, +and to put as much thought and work as possible into structuring it so +that the translation from paper to electronic form will enhance the value +of the data. [A discussion of these solutions as of two years ago is in +Elli Mylonas, Gregory Crane, Kenneth Morrell, and D. Neel Smith, "The +Perseus Project: Data in the Electronic Age," in Accessing Antiquity: +The Computerization of Classical Databases, J. Solomon and T. Worthen +(eds.), University of Arizona Press, in press.] + +Much of the work on Perseus is focused on collecting and converting the +data on which the project is based. At the same time, it is necessary to +provide means of access to the information, in order to make it usable, +and them to investigate how it is used. As we learn more about what +students and scholars from different backgrounds do with Perseus, we can +adjust our data collection, and also modify the system to accommodate +them. In creating a delivery system for general use, we have tried to +avoid favoring any one type of use by allowing multiple forms of access +to and navigation through the system. + +The way text is handled exemplifies some of these principles. All text +in Perseus is tagged using SGML, following the guidelines of the Text +Encoding Initiative (TEI). This markup is used to index the text, and +process it so that it can be imported into HyperCard. No SGML markup +remains in the text that reaches the user, because currently it would be +too expensive to create a system that acts on SGML in real time. +However, the regularity provided by SGML is essential for verifying the +content of the texts, and greatly speeds all the processing performed on +them. The fact that the texts exist in SGML ensures that they will be +relatively easy to port to different hardware and software, and so will +outlast the current delivery platform. Finally, the SGML markup +incorporates existing canonical reference systems (chapter, verse, line, +etc.); indexing and navigation are based on these features. This ensures +that the same canonical reference will always resolve to the same point +within a text, and that all versions of our texts, regardless of delivery +platform (even paper printouts) will function the same way. + +In order to provide tools for users, the text is processed by a +morphological analyzer, and the results are stored in a database. +Together with the index, the Greek-English Lexicon, and the index of all +the English words in the definitions of the lexicon, the morphological +analyses comprise a set of linguistic tools that allow users of all +levels to work with the textual information, and to accomplish different +tasks. For example, students who read no Greek may explore a concept as +it appears in Greek texts by using the English-Greek index, and then +looking up works in the texts and translations, or scholars may do +detailed morphological studies of word use by using the morphological +analyses of the texts. Because these tools were not designed for any one +use, the same tools and the same data can be used by both students and +scholars. + +NOTES: + (5) Perseus is based at Harvard University, with collaborators at + several other universities. The project has been funded primarily + by the Annenberg/CPB Project, as well as by Harvard University, + Apple Computer, and others. It is published by Yale University + Press. Perseus runs on Macintosh computers, under the HyperCard + program. + +Eric CALALUCA + +Chadwyck-Healey embarked last year on two distinct yet related full-text +humanities database projects. + +The English Poetry Full-Text Database and the Patrologia Latina Database +represent new approaches to linguistic research resources. The size and +complexity of the projects present problems for electronic publishers, +but surmountable ones if they remain abreast of the latest possibilities +in data capture and retrieval software techniques. + +The issues which required address prior to the commencement of the +projects were legion: + + 1. Editorial selection (or exclusion) of materials in each + database + + 2. Deciding whether or not to incorporate a normative encoding + structure into the databases? + A. If one is selected, should it be SGML? + B. If SGML, then the TEI? + + 3. Deliver as CD-ROM, magnetic tape, or both? + + 4. Can one produce retrieval software advanced enough for the + postdoctoral linguist, yet accessible enough for unattended + general use? Should one try? + + 5. Re fair and liberal networking policies, what are the risks to + an electronic publisher? + + 6. How does the emergence of national and international education + networks affect the use and viability of research projects + requiring high investment? Do the new European Community + directives concerning database protection necessitate two + distinct publishing projects, one for North America and one for + overseas? + +From new notions of "scholarly fair use" to the future of optical media, +virtually every issue related to electronic publishing was aired. The +result is two projects which have been constructed to provide the quality +research resources with the fewest encumbrances to use by teachers and +private scholars. + +Dorothy TWOHIG + +In spring 1988 the editors of the papers of George Washington, John +Adams, Thomas Jefferson, James Madison, and Benjamin Franklin were +approached by classics scholar David Packard on behalf of the Packard +Humanities Foundation with a proposal to produce a CD-ROM edition of the +complete papers of each of the Founding Fathers. This electronic edition +will supplement the published volumes, making the documents widely +available to students and researchers at reasonable cost. We estimate +that our CD-ROM edition of Washington's Papers will be substantially +completed within the next two years and ready for publication. Within +the next ten years or so, similar CD-ROM editions of the Franklin, Adams, +Jefferson, and Madison papers also will be available. At the Library of +Congress's session on technology, I would like to discuss not only the +experience of the Washington Papers in producing the CD-ROM edition, but +the impact technology has had on these major editorial projects. +Already, we are editing our volumes with an eye to the material that will +be readily available in the CD-ROM edition. The completed electronic +edition will provide immense possibilities for the searching of documents +for information in a way never possible before. The kind of technical +innovations that are currently available and on the drawing board will +soon revolutionize historical research and the production of historical +documents. Unfortunately, much of this new technology is not being used +in the planning stages of historical projects, simply because many +historians are aware only in the vaguest way of its existence. At least +two major new historical editing projects are considering microfilm +editions, simply because they are not aware of the possibilities of +electronic alternatives and the advantages of the new technology in terms +of flexibility and research potential compared to microfilm. In fact, +too many of us in history and literature are still at the stage of +struggling with our PCs. There are many historical editorial projects in +progress presently, and an equal number of literary projects. While the +two fields have somewhat different approaches to textual editing, there +are ways in which electronic technology can be of service to both. + +Since few of the editors involved in the Founding Fathers CD-ROM editions +are technical experts in any sense, I hope to point out in my discussion +of our experience how many of these electronic innovations can be used +successfully by scholars who are novices in the world of new technology. +One of the major concerns of the sponsors of the multitude of new +scholarly editions is the limited audience reached by the published +volumes. Most of these editions are being published in small quantities +and the publishers' price for them puts them out of the reach not only of +individual scholars but of most public libraries and all but the largest +educational institutions. However, little attention is being given to +ways in which technology can bypass conventional publication to make +historical and literary documents more widely available. + +What attracted us most to the CD-ROM edition of The Papers of George +Washington was the fact that David Packard's aim was to make a complete +edition of all of the 135,000 documents we have collected available in an +inexpensive format that would be placed in public libraries, small +colleges, and even high schools. This would provide an audience far +beyond our present 1,000-copy, $45 published edition. Since the CD-ROM +edition will carry none of the explanatory annotation that appears in the +published volumes, we also feel that the use of the CD-ROM will lead many +researchers to seek out the published volumes. + +In addition to ignorance of new technical advances, I have found that too +many editors--and historians and literary scholars--are resistant and +even hostile to suggestions that electronic technology may enhance their +work. I intend to discuss some of the arguments traditionalists are +advancing to resist technology, ranging from distrust of the speed with +which it changes (we are already wondering what is out there that is +better than CD-ROM) to suspicion of the technical language used to +describe electronic developments. + +Maria LEBRON + +The Online Journal of Current Clinical Trials, a joint venture of the +American Association for the Advancement of Science (AAAS) and the Online +Computer Library Center, Inc. (OCLC), is the first peer-reviewed journal +to provide full text, tabular material, and line illustrations on line. +This presentation will discuss the genesis and start-up period of the +journal. Topics of discussion will include historical overview, +day-to-day management of the editorial peer review, and manuscript +tagging and publication. A demonstration of the journal and its features +will accompany the presentation. + +Lynne PERSONIUS + +Cornell University Library, Cornell Information Technologies, and Xerox +Corporation, with the support of the Commission on Preservation and +Access, and Sun Microsystems, Inc., have been collaborating in a project +to test a prototype system for recording brittle books as digital images +and producing, on demand, high-quality archival paper replacements. The +project goes beyond that, however, to investigate some of the issues +surrounding scanning, storing, retrieving, and providing access to +digital images in a network environment. + +The Joint Study in Digital Preservation began in January 1990. Xerox +provided the College Library Access and Storage System (CLASS) software, +a prototype 600-dots-per-inch (dpi) scanner, and the hardware necessary +to support network printing on the DocuTech printer housed in Cornell's +Computing and Communications Center (CCC). + +The Cornell staff using the hardware and software became an integral part +of the development and testing process for enhancements to the CLASS +software system. The collaborative nature of this relationship is +resulting in a system that is specifically tailored to the preservation +application. + +A digital library of 1,000 volumes (or approximately 300,000 images) has +been created and is stored on an optical jukebox that resides in CCC. +The library includes a collection of select mathematics monographs that +provides mathematics faculty with an opportunity to use the electronic +library. The remaining volumes were chosen for the library to test the +various capabilities of the scanning system. + +One project objective is to provide users of the Cornell library and the +library staff with the ability to request facsimiles of digitized images +or to retrieve the actual electronic image for browsing. A prototype +viewing workstation has been created by Xerox, with input into the design +by a committee of Cornell librarians and computer professionals. This +will allow us to experiment with patron access to the images that make up +the digital library. The viewing station provides search, retrieval, and +(ultimately) printing functions with enhancements to facilitate +navigation through multiple documents. + +Cornell currently is working to extend access to the digital library to +readers using workstations from their offices. This year is devoted to +the development of a network resident image conversion and delivery +server, and client software that will support readers who use Apple +Macintosh computers, IBM windows platforms, and Sun workstations. +Equipment for this development was provided by Sun Microsystems with +support from the Commission on Preservation and Access. + +During the show-and-tell session of the Workshop on Electronic Texts, a +prototype view station will be demonstrated. In addition, a display of +original library books that have been digitized will be available for +review with associated printed copies for comparison. The fifteen-minute +overview of the project will include a slide presentation that +constitutes a "tour" of the preservation digitizing process. + +The final network-connected version of the viewing station will provide +library users with another mechanism for accessing the digital library, +and will also provide the capability of viewing images directly. This +will not require special software, although a powerful computer with good +graphics will be needed. + +The Joint Study in Digital Preservation has generated a great deal of +interest in the library community. Unfortunately, or perhaps +fortunately, this project serves to raise a vast number of other issues +surrounding the use of digital technology for the preservation and use of +deteriorating library materials, which subsequent projects will need to +examine. Much work remains. + +SESSION III + +Howard BESSER Networking Multimedia Databases + +What do we have to consider in building and distributing databases of +visual materials in a multi-user environment? This presentation examines +a variety of concerns that need to be addressed before a multimedia +database can be set up in a networked environment. + +In the past it has not been feasible to implement databases of visual +materials in shared-user environments because of technological barriers. +Each of the two basic models for multi-user multimedia databases has +posed its own problem. The analog multimedia storage model (represented +by Project Athena's parallel analog and digital networks) has required an +incredibly complex (and expensive) infrastructure. The economies of +scale that make multi-user setups cheaper per user served do not operate +in an environment that requires a computer workstation, videodisc player, +and two display devices for each user. + +The digital multimedia storage model has required vast amounts of storage +space (as much as one gigabyte per thirty still images). In the past the +cost of such a large amount of storage space made this model a +prohibitive choice as well. But plunging storage costs are finally +making this second alternative viable. + +If storage no longer poses such an impediment, what do we need to +consider in building digitally stored multi-user databases of visual +materials? This presentation will examine the networking and +telecommunication constraints that must be overcome before such databases +can become commonplace and useful to a large number of people. + +The key problem is the vast size of multimedia documents, and how this +affects not only storage but telecommunications transmission time. +Anything slower than T-1 speed is impractical for files of 1 megabyte or +larger (which is likely to be small for a multimedia document). For +instance, even on a 56 Kb line it would take three minutes to transfer a +1-megabyte file. And these figures assume ideal circumstances, and do +not take into consideration other users contending for network bandwidth, +disk access time, or the time needed for remote display. Current common +telephone transmission rates would be completely impractical; few users +would be willing to wait the hour necessary to transmit a single image at +2400 baud. + +This necessitates compression, which itself raises a number of other +issues. In order to decrease file sizes significantly, we must employ +lossy compression algorithms. But how much quality can we afford to +lose? To date there has been only one significant study done of +image-quality needs for a particular user group, and this study did not +look at loss resulting from compression. Only after identifying +image-quality needs can we begin to address storage and network bandwidth +needs. + +Experience with X-Windows-based applications (such as Imagequery, the +University of California at Berkeley image database) demonstrates the +utility of a client-server topology, but also points to the limitation of +current software for a distributed environment. For example, +applications like Imagequery can incorporate compression, but current X +implementations do not permit decompression at the end user's +workstation. Such decompression at the host computer alleviates storage +capacity problems while doing nothing to address problems of +telecommunications bandwidth. + +We need to examine the effects on network through-put of moving +multimedia documents around on a network. We need to examine various +topologies that will help us avoid bottlenecks around servers and +gateways. Experience with applications such as these raise still broader +questions. How closely is the multimedia document tied to the software +for viewing it? Can it be accessed and viewed from other applications? +Experience with the MARC format (and more recently with the Z39.50 +protocols) shows how useful it can be to store documents in a form in +which they can be accessed by a variety of application software. + +Finally, from an intellectual-access standpoint, we need to address the +issue of providing access to these multimedia documents in +interdisciplinary environments. We need to examine terminology and +indexing strategies that will allow us to provide access to this material +in a cross-disciplinary way. + +Ronald LARSEN Directions in High-Performance Networking for + Libraries + +The pace at which computing technology has advanced over the past forty +years shows no sign of abating. Roughly speaking, each five-year period +has yielded an order-of-magnitude improvement in price and performance of +computing equipment. No fundamental hurdles are likely to prevent this +pace from continuing for at least the next decade. It is only in the +past five years, though, that computing has become ubiquitous in +libraries, affecting all staff and patrons, directly or indirectly. + +During these same five years, communications rates on the Internet, the +principal academic computing network, have grown from 56 kbps to 1.5 +Mbps, and the NSFNet backbone is now running 45 Mbps. Over the next five +years, communication rates on the backbone are expected to exceed 1 Gbps. +Growth in both the population of network users and the volume of network +traffic has continued to grow geometrically, at rates approaching 15 +percent per month. This flood of capacity and use, likened by some to +"drinking from a firehose," creates immense opportunities and challenges +for libraries. Libraries must anticipate the future implications of this +technology, participate in its development, and deploy it to ensure +access to the world's information resources. + +The infrastructure for the information age is being put in place. +Libraries face strategic decisions about their role in the development, +deployment, and use of this infrastructure. The emerging infrastructure +is much more than computers and communication lines. It is more than the +ability to compute at a remote site, send electronic mail to a peer +across the country, or move a file from one library to another. The next +five years will witness substantial development of the information +infrastructure of the network. + +In order to provide appropriate leadership, library professionals must +have a fundamental understanding of and appreciation for computer +networking, from local area networks to the National Research and +Education Network (NREN). This presentation addresses these +fundamentals, and how they relate to libraries today and in the near +future. + +Edwin BROWNRIGG Electronic Library Visions and Realities + +The electronic library has been a vision desired by many--and rejected by +some--since Vannevar Bush coined the term memex to describe an automated, +intelligent, personal information system. Variations on this vision have +included Ted Nelson's Xanadau, Alan Kay's Dynabook, and Lancaster's +"paperless library," with the most recent incarnation being the +"Knowledge Navigator" described by John Scully of Apple. But the reality +of library service has been less visionary and the leap to the electronic +library has eluded universities, publishers, and information technology +files. + +The Memex Research Institute (MemRI), an independent, nonprofit research +and development organization, has created an Electronic Library Program +of shared research and development in order to make the collective vision +more concrete. The program is working toward the creation of large, +indexed publicly available electronic image collections of published +documents in academic, special, and public libraries. This strategic +plan is the result of the first stage of the program, which has been an +investigation of the information technologies available to support such +an effort, the economic parameters of electronic service compared to +traditional library operations, and the business and political factors +affecting the shift from print distribution to electronic networked +access. + +The strategic plan envisions a combination of publicly searchable access +databases, image (and text) document collections stored on network "file +servers," local and remote network access, and an intellectual property +management-control system. This combination of technology and +information content is defined in this plan as an E-library or E-library +collection. Some participating sponsors are already developing projects +based on MemRI's recommended directions. + +The E-library strategy projected in this plan is a visionary one that can +enable major changes and improvements in academic, public, and special +library service. This vision is, though, one that can be realized with +today's technology. At the same time, it will challenge the political +and social structure within which libraries operate: in academic +libraries, the traditional emphasis on local collections, extending to +accreditation issues; in public libraries, the potential of electronic +branch and central libraries fully available to the public; and for +special libraries, new opportunities for shared collections and networks. + +The environment in which this strategic plan has been developed is, at +the moment, dominated by a sense of library limits. The continued +expansion and rapid growth of local academic library collections is now +clearly at an end. Corporate libraries, and even law libraries, are +faced with operating within a difficult economic climate, as well as with +very active competition from commercial information sources. For +example, public libraries may be seen as a desirable but not critical +municipal service in a time when the budgets of safety and health +agencies are being cut back. + +Further, libraries in general have a very high labor-to-cost ratio in +their budgets, and labor costs are still increasing, notwithstanding +automation investments. It is difficult for libraries to obtain capital, +startup, or seed funding for innovative activities, and those +technology-intensive initiatives that offer the potential of decreased +labor costs can provoke the opposition of library staff. + +However, libraries have achieved some considerable successes in the past +two decades by improving both their service and their credibility within +their organizations--and these positive changes have been accomplished +mostly with judicious use of information technologies. The advances in +computing and information technology have been well-chronicled: the +continuing precipitous drop in computing costs, the growth of the +Internet and private networks, and the explosive increase in publicly +available information databases. + +For example, OCLC has become one of the largest computer network +organizations in the world by creating a cooperative cataloging network +of more than 6,000 libraries worldwide. On-line public access catalogs +now serve millions of users on more than 50,000 dedicated terminals in +the United States alone. The University of California MELVYL on-line +catalog system has now expanded into an index database reference service +and supports more than six million searches a year. And, libraries have +become the largest group of customers of CD-ROM publishing technology; +more than 30,000 optical media publications such as those offered by +InfoTrac and Silver Platter are subscribed to by U.S. libraries. + +This march of technology continues and in the next decade will result in +further innovations that are extremely difficult to predict. What is +clear is that libraries can now go beyond automation of their order files +and catalogs to automation of their collections themselves--and it is +possible to circumvent the fiscal limitations that appear to obtain +today. + +This Electronic Library Strategic Plan recommends a paradigm shift in +library service, and demonstrates the steps necessary to provide improved +library services with limited capacities and operating investments. + +SESSION IV-A + +Anne KENNEY + +The Cornell/Xerox Joint Study in Digital Preservation resulted in the +recording of 1,000 brittle books as 600-dpi digital images and the +production, on demand, of high-quality and archivally sound paper +replacements. The project, which was supported by the Commission on +Preservation and Access, also investigated some of the issues surrounding +scanning, storing, retrieving, and providing access to digital images in +a network environment. + +Anne Kenney will focus on some of the issues surrounding direct scanning +as identified in the Cornell Xerox Project. Among those to be discussed +are: image versus text capture; indexing and access; image-capture +capabilities; a comparison to photocopy and microfilm; production and +cost analysis; storage formats, protocols, and standards; and the use of +this scanning technology for preservation purposes. + +The 600-dpi digital images produced in the Cornell Xerox Project proved +highly acceptable for creating paper replacements of deteriorating +originals. The 1,000 scanned volumes provided an array of image-capture +challenges that are common to nineteenth-century printing techniques and +embrittled material, and that defy the use of text-conversion processes. +These challenges include diminished contrast between text and background, +fragile and deteriorated pages, uneven printing, elaborate type faces, +faint and bold text adjacency, handwritten text and annotations, nonRoman +languages, and a proliferation of illustrated material embedded in text. +The latter category included high-frequency and low-frequency halftones, +continuous tone photographs, intricate mathematical drawings, maps, +etchings, reverse-polarity drawings, and engravings. + +The Xerox prototype scanning system provided a number of important +features for capturing this diverse material. Technicians used multiple +threshold settings, filters, line art and halftone definitions, +autosegmentation, windowing, and software-editing programs to optimize +image capture. At the same time, this project focused on production. +The goal was to make scanning as affordable and acceptable as +photocopying and microfilming for preservation reformatting. A +time-and-cost study conducted during the last three months of this +project confirmed the economic viability of digital scanning, and these +findings will be discussed here. + +From the outset, the Cornell Xerox Project was predicated on the use of +nonproprietary standards and the use of common protocols when standards +did not exist. Digital files were created as TIFF images which were +compressed prior to storage using Group 4 CCITT compression. The Xerox +software is MS DOS based and utilizes off-the shelf programs such as +Microsoft Windows and Wang Image Wizard. The digital library is designed +to be hardware-independent and to provide interchangeability with other +institutions through network connections. Access to the digital files +themselves is two-tiered: Bibliographic records for the computer files +are created in RLIN and Cornell's local system and access into the actual +digital images comprising a book is provided through a document control +structure and a networked image file-server, both of which will be +described. + +The presentation will conclude with a discussion of some of the issues +surrounding the use of this technology as a preservation tool (storage, +refreshing, backup). + +Pamela ANDRE and Judith ZIDAR + +The National Agricultural Library (NAL) has had extensive experience with +raster scanning of printed materials. Since 1987, the Library has +participated in the National Agricultural Text Digitizing Project (NATDP) +a cooperative effort between NAL and forty-five land grant university +libraries. An overview of the project will be presented, giving its +history and NAL's strategy for the future. + +An in-depth discussion of NATDP will follow, including a description of +the scanning process, from the gathering of the printed materials to the +archiving of the electronic pages. The type of equipment required for a +stand-alone scanning workstation and the importance of file management +software will be discussed. Issues concerning the images themselves will +be addressed briefly, such as image format; black and white versus color; +gray scale versus dithering; and resolution. + +Also described will be a study currently in progress by NAL to evaluate +the usefulness of converting microfilm to electronic images in order to +improve access. With the cooperation of Tuskegee University, NAL has +selected three reels of microfilm from a collection of sixty-seven reels +containing the papers, letters, and drawings of George Washington Carver. +The three reels were converted into 3,500 electronic images using a +specialized microfilm scanner. The selection, filming, and indexing of +this material will be discussed. + +Donald WATERS + +Project Open Book, the Yale University Library's effort to convert 10, +000 books from microfilm to digital imagery, is currently in an advanced +state of planning and organization. The Yale Library has selected a +major vendor to serve as a partner in the project and as systems +integrator. In its proposal, the successful vendor helped isolate areas +of risk and uncertainty as well as key issues to be addressed during the +life of the project. The Yale Library is now poised to decide what +material it will convert to digital image form and to seek funding, +initially for the first phase and then for the entire project. + +The proposal that Yale accepted for the implementation of Project Open +Book will provide at the end of three phases a conversion subsystem, +browsing stations distributed on the campus network within the Yale +Library, a subsystem for storing 10,000 books at 200 and 600 dots per +inch, and network access to the image printers. Pricing for the system +implementation assumes the existence of Yale's campus ethernet network +and its high-speed image printers, and includes other requisite hardware +and software, as well as system integration services. Proposed operating +costs include hardware and software maintenance, but do not include +estimates for the facilities management of the storage devices and image +servers. + +Yale selected its vendor partner in a formal process, partly funded by +the Commission for Preservation and Access. Following a request for +proposal, the Yale Library selected two vendors as finalists to work with +Yale staff to generate a detailed analysis of requirements for Project +Open Book. Each vendor used the results of the requirements analysis to +generate and submit a formal proposal for the entire project. This +competitive process not only enabled the Yale Library to select its +primary vendor partner but also revealed much about the state of the +imaging industry, about the varying, corporate commitments to the markets +for imaging technology, and about the varying organizational dynamics +through which major companies are responding to and seeking to develop +these markets. + +Project Open Book is focused specifically on the conversion of images +from microfilm to digital form. The technology for scanning microfilm is +readily available but is changing rapidly. In its project requirements, +the Yale Library emphasized features of the technology that affect the +technical quality of digital image production and the costs of creating +and storing the image library: What levels of digital resolution can be +achieved by scanning microfilm? How does variation in the quality of +microfilm, particularly in film produced to preservation standards, +affect the quality of the digital images? What technologies can an +operator effectively and economically apply when scanning film to +separate two-up images and to control for and correct image +imperfections? How can quality control best be integrated into +digitizing work flow that includes document indexing and storage? + +The actual and expected uses of digital images--storage, browsing, +printing, and OCR--help determine the standards for measuring their +quality. Browsing is especially important, but the facilities available +for readers to browse image documents is perhaps the weakest aspect of +imaging technology and most in need of development. As it defined its +requirements, the Yale Library concentrated on some fundamental aspects +of usability for image documents: Does the system have sufficient +flexibility to handle the full range of document types, including +monographs, multi-part and multivolume sets, and serials, as well as +manuscript collections? What conventions are necessary to identify a +document uniquely for storage and retrieval? Where is the database of +record for storing bibliographic information about the image document? +How are basic internal structures of documents, such as pagination, made +accessible to the reader? How are the image documents physically +presented on the screen to the reader? + +The Yale Library designed Project Open Book on the assumption that +microfilm is more than adequate as a medium for preserving the content of +deteriorated library materials. As planning in the project has advanced, +it is increasingly clear that the challenge of digital image technology +and the key to the success of efforts like Project Open Book is to +provide a means of both preserving and improving access to those +deteriorated materials. + +SESSION IV-B + +George THOMA + +In the use of electronic imaging for document preservation, there are +several issues to consider, such as: ensuring adequate image quality, +maintaining substantial conversion rates (through-put), providing unique +identification for automated access and retrieval, and accommodating +bound volumes and fragile material. + +To maintain high image quality, image processing functions are required +to correct the deficiencies in the scanned image. Some commercially +available systems include these functions, while some do not. The +scanned raw image must be processed to correct contrast deficiencies-- +both poor overall contrast resulting from light print and/or dark +background, and variable contrast resulting from stains and +bleed-through. Furthermore, the scan density must be adequate to allow +legibility of print and sufficient fidelity in the pseudo-halftoned gray +material. Borders or page-edge effects must be removed for both +compactibility and aesthetics. Page skew must be corrected for aesthetic +reasons and to enable accurate character recognition if desired. +Compound images consisting of both two-toned text and gray-scale +illustrations must be processed appropriately to retain the quality of +each. + +SESSION IV-C + +Jean BARONAS + +Standards publications being developed by scientists, engineers, and +business managers in Association for Information and Image Management +(AIIM) standards committees can be applied to electronic image management +(EIM) processes including: document (image) transfer, retrieval and +evaluation; optical disk and document scanning; and document design and +conversion. When combined with EIM system planning and operations, +standards can assist in generating image databases that are +interchangeable among a variety of systems. The applications of +different approaches for image-tagging, indexing, compression, and +transfer often cause uncertainty concerning EIM system compatibility, +calibration, performance, and upward compatibility, until standard +implementation parameters are established. The AIIM standards that are +being developed for these applications can be used to decrease the +uncertainty, successfully integrate imaging processes, and promote "open +systems." AIIM is an accredited American National Standards Institute +(ANSI) standards developer with more than twenty committees comprised of +300 volunteers representing users, vendors, and manufacturers. The +standards publications that are developed in these committees have +national acceptance and provide the basis for international harmonization +in the development of new International Organization for Standardization +(ISO) standards. + +This presentation describes the development of AIIM's EIM standards and a +new effort at AIIM, a database on standards projects in a wide framework +of imaging industries including capture, recording, processing, +duplication, distribution, display, evaluation, and preservation. The +AIIM Imagery Database will cover imaging standards being developed by +many organizations in many different countries. It will contain +standards publications' dates, origins, related national and +international projects, status, key words, and abstracts. The ANSI Image +Technology Standards Board requested that such a database be established, +as did the ISO/International Electrotechnical Commission Joint Task Force +on Imagery. AIIM will take on the leadership role for the database and +coordinate its development with several standards developers. + +Patricia BATTIN + + Characteristics of standards for digital imagery: + + * Nature of digital technology implies continuing volatility. + + * Precipitous standard-setting not possible and probably not + desirable. + + * Standards are a complex issue involving the medium, the + hardware, the software, and the technical capacity for + reproductive fidelity and clarity. + + * The prognosis for reliable archival standards (as defined by + librarians) in the foreseeable future is poor. + + Significant potential and attractiveness of digital technology as a + preservation medium and access mechanism. + + Productive use of digital imagery for preservation requires a + reconceptualizing of preservation principles in a volatile, + standardless world. + + Concept of managing continuing access in the digital environment + rather than focusing on the permanence of the medium and long-term + archival standards developed for the analog world. + + Transition period: How long and what to do? + + * Redefine "archival." + + * Remove the burden of "archival copy" from paper artifacts. + + * Use digital technology for storage, develop management + strategies for refreshing medium, hardware and software. + + * Create acid-free paper copies for transition period backup + until we develop reliable procedures for ensuring continuing + access to digital files. + +SESSION IV-D + +Stuart WEIBEL The Role of SGML Markup in the CORE Project (6) + +The emergence of high-speed telecommunications networks as a basic +feature of the scholarly workplace is driving the demand for electronic +document delivery. Three distinct categories of electronic +publishing/republishing are necessary to support access demands in this +emerging environment: + + 1.) Conversion of paper or microfilm archives to electronic format + 2.) Conversion of electronic files to formats tailored to + electronic retrieval and display + 3.) Primary electronic publishing (materials for which the + electronic version is the primary format) + +OCLC has experimental or product development activities in each of these +areas. Among the challenges that lie ahead is the integration of these +three types of information stores in coherent distributed systems. + +The CORE (Chemistry Online Retrieval Experiment) Project is a model for +the conversion of large text and graphics collections for which +electronic typesetting files are available (category 2). The American +Chemical Society has made available computer typography files dating from +1980 for its twenty journals. This collection of some 250 journal-years +is being converted to an electronic format that will be accessible +through several end-user applications. + +The use of Standard Generalized Markup Language (SGML) offers the means +to capture the structural richness of the original articles in a way that +will support a variety of retrieval, navigation, and display options +necessary to navigate effectively in very large text databases. + +An SGML document consists of text that is marked up with descriptive tags +that specify the function of a given element within the document. As a +formal language construct, an SGML document can be parsed against a +document-type definition (DTD) that unambiguously defines what elements +are allowed and where in the document they can (or must) occur. This +formalized map of article structure allows the user interface design to +be uncoupled from the underlying database system, an important step +toward interoperability. Demonstration of this separability is a part of +the CORE project, wherein user interface designs born of very different +philosophies will access the same database. + +NOTES: + (6) The CORE project is a collaboration among Cornell University's + Mann Library, Bell Communications Research (Bellcore), the American + Chemical Society (ACS), the Chemical Abstracts Service (CAS), and + OCLC. + +Michael LESK The CORE Electronic Chemistry Library + +A major on-line file of chemical journal literature complete with +graphics is being developed to test the usability of fully electronic +access to documents, as a joint project of Cornell University, the +American Chemical Society, the Chemical Abstracts Service, OCLC, and +Bellcore (with additional support from Sun Microsystems, Springer-Verlag, +DigitaI Equipment Corporation, Sony Corporation of America, and Apple +Computers). Our file contains the American Chemical Society's on-line +journals, supplemented with the graphics from the paper publication. The +indexing of the articles from Chemical Abstracts Documents is available +in both image and text format, and several different interfaces can be +used. Our goals are (1) to assess the effectiveness and acceptability of +electronic access to primary journals as compared with paper, and (2) to +identify the most desirable functions of the user interface to an +electronic system of journals, including in particular a comparison of +page-image display with ASCII display interfaces. Early experiments with +chemistry students on a variety of tasks suggest that searching tasks are +completed much faster with any electronic system than with paper, but +that for reading all versions of the articles are roughly equivalent. + +Pamela ANDRE and Judith ZIDAR + +Text conversion is far more expensive and time-consuming than image +capture alone. NAL's experience with optical character recognition (OCR) +will be related and compared with the experience of having text rekeyed. +What factors affect OCR accuracy? How accurate does full text have to be +in order to be useful? How do different users react to imperfect text? +These are questions that will be explored. For many, a service bureau +may be a better solution than performing the work inhouse; this will also +be discussed. + +SESSION VI + +Marybeth PETERS + +Copyright law protects creative works. Protection granted by the law to +authors and disseminators of works includes the right to do or authorize +the following: reproduce the work, prepare derivative works, distribute +the work to the public, and publicly perform or display the work. In +addition, copyright owners of sound recordings and computer programs have +the right to control rental of their works. These rights are not +unlimited; there are a number of exceptions and limitations. + +An electronic environment places strains on the copyright system. +Copyright owners want to control uses of their work and be paid for any +use; the public wants quick and easy access at little or no cost. The +marketplace is working in this area. Contracts, guidelines on electronic +use, and collective licensing are in use and being refined. + +Issues concerning the ability to change works without detection are more +difficult to deal with. Questions concerning the integrity of the work +and the status of the changed version under the copyright law are to be +addressed. These are public policy issues which require informed +dialogue. + + + *** *** *** ****** *** *** *** + + + Appendix III: DIRECTORY OF PARTICIPANTS + + +PRESENTERS: + + Pamela Q.J. Andre + Associate Director, Automation + National Agricultural Library + 10301 Baltimore Boulevard + Beltsville, MD 20705-2351 + Phone: (301) 504-6813 + Fax: (301) 504-7473 + E-mail: INTERNET: PANDRE@ASRR.ARSUSDA.GOV + + Jean Baronas, Senior Manager + Department of Standards and Technology + Association for Information and Image Management (AIIM) + 1100 Wayne Avenue, Suite 1100 + Silver Spring, MD 20910 + Phone: (301) 587-8202 + Fax: (301) 587-2711 + + Patricia Battin, President + The Commission on Preservation and Access + 1400 16th Street, N.W. + Suite 740 + Washington, DC 20036-2217 + Phone: (202) 939-3400 + Fax: (202) 939-3407 + E-mail: CPA@GWUVM.BITNET + + Howard Besser + Centre Canadien d'Architecture + (Canadian Center for Architecture) + 1920, rue Baile + Montreal, Quebec H3H 2S6 + CANADA + Phone: (514) 939-7001 + Fax: (514) 939-7020 + E-mail: howard@lis.pitt.edu + + Edwin B. Brownrigg, Executive Director + Memex Research Institute + 422 Bonita Avenue + Roseville, CA 95678 + Phone: (916) 784-2298 + Fax: (916) 786-7559 + E-mail: BITNET: MEMEX@CALSTATE.2 + + Eric M. Calaluca, Vice President + Chadwyck-Healey, Inc. + 1101 King Street + Alexandria, VA 223l4 + Phone: (800) 752-05l5 + Fax: (703) 683-7589 + + James Daly + 4015 Deepwood Road + Baltimore, MD 21218-1404 + Phone: (410) 235-0763 + + Ricky Erway, Associate Coordinator + American Memory + Library of Congress + Phone: (202) 707-6233 + Fax: (202) 707-3764 + + Carl Fleischhauer, Coordinator + American Memory + Library of Congress + Phone: (202) 707-6233 + Fax: (202) 707-3764 + + Joanne Freeman + 2000 Jefferson Park Avenue, No. 7 + Charlottesville, VA 22903 + + Prosser Gifford + Director for Scholarly Programs + Library of Congress + Phone: (202) 707-1517 + Fax: (202) 707-9898 + E-mail: pgif@seq1.loc.gov + + Jacqueline Hess, Director + National Demonstration Laboratory + for Interactive Information Technologies + Library of Congress + Phone: (202) 707-4157 + Fax: (202) 707-2829 + + Susan Hockey, Director + Center for Electronic Texts in the Humanities (CETH) + Alexander Library + Rutgers University + 169 College Avenue + New Brunswick, NJ 08903 + Phone: (908) 932-1384 + Fax: (908) 932-1386 + E-mail: hockey@zodiac.rutgers.edu + + William L. Hooton, Vice President + Business & Technical Development + Imaging & Information Systems Group + I-NET + 6430 Rockledge Drive, Suite 400 + Bethesda, MD 208l7 + Phone: (301) 564-6750 + Fax: (513) 564-6867 + + Anne R. Kenney, Associate Director + Department of Preservation and Conservation + 701 Olin Library + Cornell University + Ithaca, NY 14853 + Phone: (607) 255-6875 + Fax: (607) 255-9346 + E-mail: LYDY@CORNELLA.BITNET + + Ronald L. Larsen + Associate Director for Information Technology + University of Maryland at College Park + Room B0224, McKeldin Library + College Park, MD 20742-7011 + Phone: (301) 405-9194 + Fax: (301) 314-9865 + E-mail: rlarsen@libr.umd.edu + + Maria L. Lebron, Managing Editor + The Online Journal of Current Clinical Trials + l333 H Street, N.W. + Washington, DC 20005 + Phone: (202) 326-6735 + Fax: (202) 842-2868 + E-mail: PUBSAAAS@GWUVM.BITNET + + Michael Lesk, Executive Director + Computer Science Research + Bell Communications Research, Inc. + Rm 2A-385 + 445 South Street + Morristown, NJ 07960-l9l0 + Phone: (201) 829-4070 + Fax: (201) 829-5981 + E-mail: lesk@bellcore.com (Internet) or bellcore!lesk (uucp) + + Clifford A. Lynch + Director, Library Automation + University of California, + Office of the President + 300 Lakeside Drive, 8th Floor + Oakland, CA 94612-3350 + Phone: (510) 987-0522 + Fax: (510) 839-3573 + E-mail: calur@uccmvsa + + Avra Michelson + National Archives and Records Administration + NSZ Rm. 14N + 7th & Pennsylvania, N.W. + Washington, D.C. 20408 + Phone: (202) 501-5544 + Fax: (202) 501-5533 + E-mail: tmi@cu.nih.gov + + Elli Mylonas, Managing Editor + Perseus Project + Department of the Classics + Harvard University + 319 Boylston Hall + Cambridge, MA 02138 + Phone: (617) 495-9025, (617) 495-0456 (direct) + Fax: (617) 496-8886 + E-mail: Elli@IKAROS.Harvard.EDU or elli@wjh12.harvard.edu + + David Woodley Packard + Packard Humanities Institute + 300 Second Street, Suite 201 + Los Altos, CA 94002 + Phone: (415) 948-0150 (PHI) + Fax: (415) 948-5793 + + Lynne K. Personius, Assistant Director + Cornell Information Technologies for + Scholarly Information Sources + 502 Olin Library + Cornell University + Ithaca, NY 14853 + Phone: (607) 255-3393 + Fax: (607) 255-9346 + E-mail: JRN@CORNELLC.BITNET + + Marybeth Peters + Policy Planning Adviser to the + Register of Copyrights + Library of Congress + Office LM 403 + Phone: (202) 707-8350 + Fax: (202) 707-8366 + + C. Michael Sperberg-McQueen + Editor, Text Encoding Initiative + Computer Center (M/C 135) + University of Illinois at Chicago + Box 6998 + Chicago, IL 60680 + Phone: (312) 413-0317 + Fax: (312) 996-6834 + E-mail: u35395@uicvm..cc.uic.edu or u35395@uicvm.bitnet + + George R. Thoma, Chief + Communications Engineering Branch + National Library of Medicine + 8600 Rockville Pike + Bethesda, MD 20894 + Phone: (301) 496-4496 + Fax: (301) 402-0341 + E-mail: thoma@lhc.nlm.nih.gov + + Dorothy Twohig, Editor + The Papers of George Washington + 504 Alderman Library + University of Virginia + Charlottesville, VA 22903-2498 + Phone: (804) 924-0523 + Fax: (804) 924-4337 + + Susan H. Veccia, Team leader + American Memory, User Evaluation + Library of Congress + American Memory Evaluation Project + Phone: (202) 707-9104 + Fax: (202) 707-3764 + E-mail: svec@seq1.loc.gov + + Donald J. Waters, Head + Systems Office + Yale University Library + New Haven, CT 06520 + Phone: (203) 432-4889 + Fax: (203) 432-7231 + E-mail: DWATERS@YALEVM.BITNET or DWATERS@YALEVM.YCC.YALE.EDU + + Stuart Weibel, Senior Research Scientist + OCLC + 6565 Frantz Road + Dublin, OH 43017 + Phone: (614) 764-608l + Fax: (614) 764-2344 + E-mail: INTERNET: Stu@rsch.oclc.org + + Robert G. Zich + Special Assistant to the Associate Librarian + for Special Projects + Library of Congress + Phone: (202) 707-6233 + Fax: (202) 707-3764 + E-mail: rzic@seq1.loc.gov + + Judith A. Zidar, Coordinator + National Agricultural Text Digitizing Program + Information Systems Division + National Agricultural Library + 10301 Baltimore Boulevard + Beltsville, MD 20705-2351 + Phone: (301) 504-6813 or 504-5853 + Fax: (301) 504-7473 + E-mail: INTERNET: JZIDAR@ASRR.ARSUSDA.GOV + + +OBSERVERS: + + Helen Aguera, Program Officer + Division of Research + Room 318 + National Endowment for the Humanities + 1100 Pennsylvania Avenue, N.W. + Washington, D.C. 20506 + Phone: (202) 786-0358 + Fax: (202) 786-0243 + + M. Ellyn Blanton, Deputy Director + National Demonstration Laboratory + for Interactive Information Technologies + Library of Congress + Phone: (202) 707-4157 + Fax: (202) 707-2829 + + Charles M. Dollar + National Archives and Records Administration + NSZ Rm. 14N + 7th & Pennsylvania, N.W. + Washington, DC 20408 + Phone: (202) 501-5532 + Fax: (202) 501-5512 + + Jeffrey Field, Deputy to the Director + Division of Preservation and Access + Room 802 + National Endowment for the Humanities + 1100 Pennsylvania Avenue, N.W. + Washington, DC 20506 + Phone: (202) 786-0570 + Fax: (202) 786-0243 + + Lorrin Garson + American Chemical Society + Research and Development Department + 1155 16th Street, N.W. + Washington, D.C. 20036 + Phone: (202) 872-4541 + Fax: E-mail: INTERNET: LRG96@ACS.ORG + + William M. Holmes, Jr. + National Archives and Records Administration + NSZ Rm. 14N + 7th & Pennsylvania, N.W. + Washington, DC 20408 + Phone: (202) 501-5540 + Fax: (202) 501-5512 + E-mail: WHOLMES@AMERICAN.EDU + + Sperling Martin + Information Resource Management + 20030 Doolittle Street + Gaithersburg, MD 20879 + Phone: (301) 924-1803 + + Michael Neuman, Director + The Center for Text and Technology + Academic Computing Center + 238 Reiss Science Building + Georgetown University + Washington, DC 20057 + Phone: (202) 687-6096 + Fax: (202) 687-6003 + E-mail: neuman@guvax.bitnet, neuman@guvax.georgetown.edu + + Barbara Paulson, Program Officer + Division of Preservation and Access + Room 802 + National Endowment for the Humanities + 1100 Pennsylvania Avenue, N.W. + Washington, DC 20506 + Phone: (202) 786-0577 + Fax: (202) 786-0243 + + Allen H. Renear + Senior Academic Planning Analyst + Brown University Computing and Information Services + 115 Waterman Street + Campus Box 1885 + Providence, R.I. 02912 + Phone: (401) 863-7312 + Fax: (401) 863-7329 + E-mail: BITNET: Allen@BROWNVM or + INTERNET: Allen@brownvm.brown.edu + + Susan M. Severtson, President + Chadwyck-Healey, Inc. + 1101 King Street + Alexandria, VA 223l4 + Phone: (800) 752-05l5 + Fax: (703) 683-7589 + + Frank Withrow + U.S. Department of Education + 555 New Jersey Avenue, N.W. + Washington, DC 20208-5644 + Phone: (202) 219-2200 + Fax: (202) 219-2106 + + +(LC STAFF) + + Linda L. Arret + Machine-Readable Collections Reading Room LJ 132 + (202) 707-1490 + + John D. Byrum, Jr. + Descriptive Cataloging Division LM 540 + (202) 707-5194 + + Mary Jane Cavallo + Science and Technology Division LA 5210 + (202) 707-1219 + + Susan Thea David + Congressional Research Service LM 226 + (202) 707-7169 + + Robert Dierker + Senior Adviser for Multimedia Activities LM 608 + (202) 707-6151 + + William W. Ellis + Associate Librarian for Science and Technology LM 611 + (202) 707-6928 + + Ronald Gephart + Manuscript Division LM 102 + (202) 707-5097 + + James Graber + Information Technology Services LM G51 + (202) 707-9628 + + Rich Greenfield + American Memory LM 603 + (202) 707-6233 + + Rebecca Guenther + Network Development LM 639 + (202) 707-5092 + + Kenneth E. Harris + Preservation LM G21 + (202) 707-5213 + + Staley Hitchcock + Manuscript Division LM 102 + (202) 707-5383 + + Bohdan Kantor + Office of Special Projects LM 612 + (202) 707-0180 + + John W. Kimball, Jr + Machine-Readable Collections Reading Room LJ 132 + (202) 707-6560 + + Basil Manns + Information Technology Services LM G51 + (202) 707-8345 + + Sally Hart McCallum + Network Development LM 639 + (202) 707-6237 + + Dana J. Pratt + Publishing Office LM 602 + (202) 707-6027 + + Jane Riefenhauser + American Memory LM 603 + (202) 707-6233 + + William Z. Schenck + Collections Development LM 650 + (202) 707-7706 + + Chandru J. Shahani + Preservation Research and Testing Office (R&T) LM G38 + (202) 707-5607 + + William J. Sittig + Collections Development LM 650 + (202) 707-7050 + + Paul Smith + Manuscript Division LM 102 + (202) 707-5097 + + James L. Stevens + Information Technology Services LM G51 + (202) 707-9688 + + Karen Stuart + Manuscript Division LM 130 + (202) 707-5389 + + Tamara Swora + Preservation Microfilming Office LM G05 + (202) 707-6293 + + Sarah Thomas + Collections Cataloging LM 642 + (202) 707-5333 + + + END + ************************************************************* + +Note: This file has been edited for use on computer networks. This +editing required the removal of diacritics, underlining, and fonts such +as italics and bold. + +kde 11/92 + +[A few of the italics (when used for emphasis) were replaced by CAPS mh] + +*End of The Project Gutenberg Etext of LOC WORKSHOP ON ELECTRONIC ETEXTS + diff --git a/t/testdata/lcet10.txt.compressed b/t/testdata/lcet10.txt.compressed new file mode 100644 index 0000000000000000000000000000000000000000..b7d0f633c437f8260595df40f03f044d6f598e82 GIT binary patch literal 124719 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

)bOosj91QG6KgO5!hB7HtFxTTv90 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%0A0!A+cn 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ⅈGe^w_b=nM62*x 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

BNVE%e_Aq1O$74Fy(&LIUrVEye(SI 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 z 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

I)e$dikuH72ZigtI89owprqW+6tQC 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